# This file is part fo Crystal Ball Plus
# it is a modified version of SpaceGroups.py
# from the DiffPy project www.diffpy.org
# which in turn is derived from PyMMLib (http://pymmlib.sourceforge.net)

## From DiffPy www.diffpy.org
## svn://svn@danse.us/diffraction/diffraction/diffpy.Structure
## rev: 6567
## http://danse.us/trac/diffraction/browser/diffraction/diffpy.Structure/trunk/diffpy/Structure/SpaceGroups.py
## DiffPy license: http://danse.us/trac/diffraction/browser/diffraction/diffpy.Structure/trunk/LICENSE.txt

##############################################################################
#
# diffpy.Structure  by DANSE Diffraction group
#                   Simon J. L. Billinge
#                   (c) 2009 Trustees of the Columbia University
#                   in the City of New York.  All rights reserved.
#
# File coded by:    Pavol Juhas
#
# See LICENSE_DiffPy and LICENSE_PyMMLib for license information.
#
##############################################################################

"""Symmetry operations as functions on vectors or arrays.
"""
import types
import numpy as np

## 64 unique rotation matricies
Rot_Z_mY_X = np.array([[ 0.0, 0.0, 1.0],
                       [ 0.0,-1.0, 0.0],
                       [ 1.0, 0.0, 0.0]], float)

Rot_Y_mX_mZ = np.array([[ 0.0, 1.0, 0.0],
                        [-1.0, 0.0, 0.0],
                        [ 0.0, 0.0,-1.0]], float)

Rot_XmY_X_mZ = np.array([[ 1.0,-1.0, 0.0],
                         [ 1.0, 0.0, 0.0],
                         [ 0.0, 0.0,-1.0]], float)

Rot_mX_Y_mZ = np.array([[-1.0, 0.0, 0.0],
                        [ 0.0, 1.0, 0.0],
                        [ 0.0, 0.0,-1.0]], float)

Rot_X_mZ_Y = np.array([[ 1.0, 0.0, 0.0],
                       [ 0.0, 0.0,-1.0],
                       [ 0.0, 1.0, 0.0]], float)

Rot_Y_mXY_Z = np.array([[ 0.0, 1.0, 0.0],
                        [-1.0, 1.0, 0.0],
                        [ 0.0, 0.0, 1.0]], float)

Rot_Y_mX_Z = np.array([[ 0.0, 1.0, 0.0],
                       [-1.0, 0.0, 0.0],
                       [ 0.0, 0.0, 1.0]], float)

Rot_XmY_X_Z = np.array([[ 1.0,-1.0, 0.0],
                        [ 1.0, 0.0, 0.0],
                        [ 0.0, 0.0, 1.0]], float)

Rot_mX_mXY_mZ = np.array([[-1.0, 0.0, 0.0],
                          [-1.0, 1.0, 0.0],
                          [ 0.0, 0.0,-1.0]], float)

Rot_Y_Z_X = np.array([[ 0.0, 1.0, 0.0],
                      [ 0.0, 0.0, 1.0],
                      [ 1.0, 0.0, 0.0]], float)

Rot_mY_mZ_X = np.array([[ 0.0,-1.0, 0.0],
                        [ 0.0, 0.0,-1.0],
                        [ 1.0, 0.0, 0.0]], float)

Rot_X_Z_mY = np.array([[ 1.0, 0.0, 0.0],
                       [ 0.0, 0.0, 1.0],
                       [ 0.0,-1.0, 0.0]], float)

Rot_XmY_mY_Z = np.array([[ 1.0,-1.0, 0.0],
                         [ 0.0,-1.0, 0.0],
                         [ 0.0, 0.0, 1.0]], float)

Rot_Y_X_mZ = np.array([[ 0.0, 1.0, 0.0],
                       [ 1.0, 0.0, 0.0],
                       [ 0.0, 0.0,-1.0]], float)

Rot_Y_mZ_X = np.array([[ 0.0, 1.0, 0.0],
                       [ 0.0, 0.0,-1.0],
                       [ 1.0, 0.0, 0.0]], float)

Rot_mXY_Y_Z = np.array([[-1.0, 1.0, 0.0],
                        [ 0.0, 1.0, 0.0],
                        [ 0.0, 0.0, 1.0]], float)

Rot_mX_mY_mZ = np.array([[-1.0, 0.0, 0.0],
                         [ 0.0,-1.0, 0.0],
                         [ 0.0, 0.0,-1.0]], float)

Rot_X_Y_mZ = np.array([[ 1.0, 0.0, 0.0],
                       [ 0.0, 1.0, 0.0],
                       [ 0.0, 0.0,-1.0]], float)

Rot_mXY_mX_Z = np.array([[-1.0, 1.0, 0.0],
                         [-1.0, 0.0, 0.0],
                         [ 0.0, 0.0, 1.0]], float)

Rot_mZ_mY_mX = np.array([[ 0.0, 0.0,-1.0],
                         [ 0.0,-1.0, 0.0],
                         [-1.0, 0.0, 0.0]], float)

Rot_X_mZ_mY = np.array([[ 1.0, 0.0, 0.0],
                        [ 0.0, 0.0,-1.0],
                        [ 0.0,-1.0, 0.0]], float)

Rot_X_Y_Z = np.array([[ 1.0, 0.0, 0.0],
                      [ 0.0, 1.0, 0.0],
                      [ 0.0, 0.0, 1.0]], float)

Rot_mY_mX_mZ = np.array([[ 0.0,-1.0, 0.0],
                         [-1.0, 0.0, 0.0],
                         [ 0.0, 0.0,-1.0]], float)

Rot_mY_X_Z = np.array([[ 0.0,-1.0, 0.0],
                       [ 1.0, 0.0, 0.0],
                       [ 0.0, 0.0, 1.0]], float)

Rot_Z_X_Y = np.array([[ 0.0, 0.0, 1.0],
                      [ 1.0, 0.0, 0.0],
                      [ 0.0, 1.0, 0.0]], float)

Rot_X_XmY_Z = np.array([[ 1.0, 0.0, 0.0],
                        [ 1.0,-1.0, 0.0],
                        [ 0.0, 0.0, 1.0]], float)

Rot_mY_X_mZ = np.array([[ 0.0,-1.0, 0.0],
                        [ 1.0, 0.0, 0.0],
                        [ 0.0, 0.0,-1.0]], float)

Rot_mY_Z_mX = np.array([[ 0.0,-1.0, 0.0],
                        [ 0.0, 0.0, 1.0],
                        [-1.0, 0.0, 0.0]], float)

Rot_mY_Z_X = np.array([[ 0.0,-1.0, 0.0],
                       [ 0.0, 0.0, 1.0],
                       [ 1.0, 0.0, 0.0]], float)

Rot_mX_mZ_mY = np.array([[-1.0, 0.0, 0.0],
                         [ 0.0, 0.0,-1.0],
                         [ 0.0,-1.0, 0.0]], float)

Rot_mX_Z_Y = np.array([[-1.0, 0.0, 0.0],
                       [ 0.0, 0.0, 1.0],
                       [ 0.0, 1.0, 0.0]], float)

Rot_mZ_mX_mY = np.array([[ 0.0, 0.0,-1.0],
                         [-1.0, 0.0, 0.0],
                         [ 0.0,-1.0, 0.0]], float)

Rot_X_XmY_mZ = np.array([[ 1.0, 0.0, 0.0],
                         [ 1.0,-1.0, 0.0],
                         [ 0.0, 0.0,-1.0]], float)

Rot_mY_XmY_mZ = np.array([[ 0.0,-1.0, 0.0],
                          [ 1.0,-1.0, 0.0],
                          [ 0.0, 0.0,-1.0]], float)

Rot_Z_X_mY = np.array([[ 0.0, 0.0, 1.0],
                       [ 1.0, 0.0, 0.0],
                       [ 0.0,-1.0, 0.0]], float)

Rot_mZ_mY_X = np.array([[ 0.0, 0.0,-1.0],
                        [ 0.0,-1.0, 0.0],
                        [ 1.0, 0.0, 0.0]], float)

Rot_X_Z_Y = np.array([[ 1.0, 0.0, 0.0],
                      [ 0.0, 0.0, 1.0],
                      [ 0.0, 1.0, 0.0]], float)

Rot_Z_mX_mY = np.array([[ 0.0, 0.0, 1.0],
                        [-1.0, 0.0, 0.0],
                        [ 0.0,-1.0, 0.0]], float)

Rot_mX_Z_mY = np.array([[-1.0, 0.0, 0.0],
                        [ 0.0, 0.0, 1.0],
                        [ 0.0,-1.0, 0.0]], float)

Rot_X_mY_Z = np.array([[ 1.0, 0.0, 0.0],
                       [ 0.0,-1.0, 0.0],
                       [ 0.0, 0.0, 1.0]], float)

Rot_mY_mX_Z = np.array([[ 0.0,-1.0, 0.0],
                        [-1.0, 0.0, 0.0],
                        [ 0.0, 0.0, 1.0]], float)

Rot_Z_mY_mX = np.array([[ 0.0, 0.0, 1.0],
                        [ 0.0,-1.0, 0.0],
                        [-1.0, 0.0, 0.0]], float)

Rot_mX_mY_Z = np.array([[-1.0, 0.0, 0.0],
                        [ 0.0,-1.0, 0.0],
                        [ 0.0, 0.0, 1.0]], float)

Rot_Z_Y_X = np.array([[ 0.0, 0.0, 1.0],
                      [ 0.0, 1.0, 0.0],
                      [ 1.0, 0.0, 0.0]], float)

Rot_mZ_Y_mX = np.array([[ 0.0, 0.0,-1.0],
                        [ 0.0, 1.0, 0.0],
                        [-1.0, 0.0, 0.0]], float)

Rot_Y_Z_mX = np.array([[ 0.0, 1.0, 0.0],
                       [ 0.0, 0.0, 1.0],
                       [-1.0, 0.0, 0.0]], float)

Rot_mY_XmY_Z = np.array([[ 0.0,-1.0, 0.0],
                         [ 1.0,-1.0, 0.0],
                         [ 0.0, 0.0, 1.0]], float)

Rot_mXY_Y_mZ = np.array([[-1.0, 1.0, 0.0],
                         [ 0.0, 1.0, 0.0],
                         [ 0.0, 0.0,-1.0]], float)

Rot_mZ_mX_Y = np.array([[ 0.0, 0.0,-1.0],
                        [-1.0, 0.0, 0.0],
                        [ 0.0, 1.0, 0.0]], float)

Rot_mX_mZ_Y = np.array([[-1.0, 0.0, 0.0],
                        [ 0.0, 0.0,-1.0],
                        [ 0.0, 1.0, 0.0]], float)

Rot_mX_Y_Z = np.array([[-1.0, 0.0, 0.0],
                       [ 0.0, 1.0, 0.0],
                       [ 0.0, 0.0, 1.0]], float)

Rot_X_mY_mZ = np.array([[ 1.0, 0.0, 0.0],
                        [ 0.0,-1.0, 0.0],
                        [ 0.0, 0.0,-1.0]], float)

Rot_mZ_X_Y = np.array([[ 0.0, 0.0,-1.0],
                       [ 1.0, 0.0, 0.0],
                       [ 0.0, 1.0, 0.0]], float)

Rot_Y_mZ_mX = np.array([[ 0.0, 1.0, 0.0],
                        [ 0.0, 0.0,-1.0],
                        [-1.0, 0.0, 0.0]], float)

Rot_mY_mZ_mX = np.array([[ 0.0,-1.0, 0.0],
                         [ 0.0, 0.0,-1.0],
                         [-1.0, 0.0, 0.0]], float)

Rot_mZ_Y_X = np.array([[ 0.0, 0.0,-1.0],
                       [ 0.0, 1.0, 0.0],
                       [ 1.0, 0.0, 0.0]], float)

Rot_Z_Y_mX = np.array([[ 0.0, 0.0, 1.0],
                       [ 0.0, 1.0, 0.0],
                       [-1.0, 0.0, 0.0]], float)

Rot_mXY_mX_mZ = np.array([[-1.0, 1.0, 0.0],
                          [-1.0, 0.0, 0.0],
                          [ 0.0, 0.0,-1.0]], float)

Rot_XmY_mY_mZ = np.array([[ 1.0,-1.0, 0.0],
                          [ 0.0,-1.0, 0.0],
                          [ 0.0, 0.0,-1.0]], float)

Rot_Z_mX_Y = np.array([[ 0.0, 0.0, 1.0],
                       [-1.0, 0.0, 0.0],
                       [ 0.0, 1.0, 0.0]], float)

Rot_mX_mXY_Z = np.array([[-1.0, 0.0, 0.0],
                         [-1.0, 1.0, 0.0],
                         [ 0.0, 0.0, 1.0]], float)

Rot_Y_mXY_mZ = np.array([[ 0.0, 1.0, 0.0],
                         [-1.0, 1.0, 0.0],
                         [ 0.0, 0.0,-1.0]], float)

Rot_mZ_X_mY = np.array([[ 0.0, 0.0,-1.0],
                        [ 1.0, 0.0, 0.0],
                        [ 0.0,-1.0, 0.0]], float)

Rot_Y_X_Z = np.array([[ 0.0, 1.0, 0.0],
                      [ 1.0, 0.0, 0.0],
                      [ 0.0, 0.0, 1.0]], float)


## 32 unique translation vectors
Tr_0_0_34 = np.array([     0.0,     0.0, 3.0/4.0 ], float)
Tr_12_0_34 = np.array([ 1.0/2.0,     0.0, 3.0/4.0 ], float)
Tr_0_0_56 = np.array([     0.0,     0.0, 5.0/6.0 ], float)
Tr_12_0_12 = np.array([ 1.0/2.0,     0.0, 1.0/2.0 ], float)
Tr_0_12_12 = np.array([     0.0, 1.0/2.0, 1.0/2.0 ], float)
Tr_12_0_14 = np.array([ 1.0/2.0,     0.0, 1.0/4.0 ], float)
Tr_0_12_14 = np.array([     0.0, 1.0/2.0, 1.0/4.0 ], float)
Tr_14_14_14 = np.array([ 1.0/4.0, 1.0/4.0, 1.0/4.0 ], float)
Tr_0_12_34 = np.array([     0.0, 1.0/2.0, 3.0/4.0 ], float)
Tr_34_14_14 = np.array([ 3.0/4.0, 1.0/4.0, 1.0/4.0 ], float)
Tr_0_0_0 = np.array([     0.0,     0.0,     0.0 ], float)
Tr_23_13_56 = np.array([ 2.0/3.0, 1.0/3.0, 5.0/6.0 ], float)
Tr_14_14_34 = np.array([ 1.0/4.0, 1.0/4.0, 3.0/4.0 ], float)
Tr_12_12_0 = np.array([ 1.0/2.0, 1.0/2.0,     0.0 ], float)
Tr_23_13_13 = np.array([ 2.0/3.0, 1.0/3.0, 1.0/3.0 ], float)
Tr_13_23_23 = np.array([ 1.0/3.0, 2.0/3.0, 2.0/3.0 ], float)
Tr_12_12_12 = np.array([ 1.0/2.0, 1.0/2.0, 1.0/2.0 ], float)
Tr_12_12_14 = np.array([ 1.0/2.0, 1.0/2.0, 1.0/4.0 ], float)
Tr_14_34_14 = np.array([ 1.0/4.0, 3.0/4.0, 1.0/4.0 ], float)
Tr_12_12_34 = np.array([ 1.0/2.0, 1.0/2.0, 3.0/4.0 ], float)
Tr_0_0_23 = np.array([     0.0,     0.0, 2.0/3.0 ], float)
Tr_0_12_0 = np.array([     0.0, 1.0/2.0,     0.0 ], float)
Tr_14_34_34 = np.array([ 1.0/4.0, 3.0/4.0, 3.0/4.0 ], float)
Tr_34_34_14 = np.array([ 3.0/4.0, 3.0/4.0, 1.0/4.0 ], float)
Tr_12_0_0 = np.array([ 1.0/2.0,     0.0,     0.0 ], float)
Tr_34_34_34 = np.array([ 3.0/4.0, 3.0/4.0, 3.0/4.0 ], float)
Tr_0_0_13 = np.array([     0.0,     0.0, 1.0/3.0 ], float)
Tr_0_0_12 = np.array([     0.0,     0.0, 1.0/2.0 ], float)
Tr_13_23_16 = np.array([ 1.0/3.0, 2.0/3.0, 1.0/6.0 ], float)
Tr_0_0_14 = np.array([     0.0,     0.0, 1.0/4.0 ], float)
Tr_0_0_16 = np.array([     0.0,     0.0, 1.0/6.0 ], float)
Tr_34_14_34 = np.array([ 3.0/4.0, 1.0/4.0, 3.0/4.0 ], float)


class SymOp(object):
    """A subclass of the tuple class for performing one symmetry operation.
    """
    def __init__(self, R, t):
        self.R = R
        self.t = t

    def __str__(self):
        x = "[%6.3f %6.3f %6.3f %6.3f]\n" % (
            self.R[0,0], self.R[0,1], self.R[0,2], self.t[0])
        x += "[%6.3f %6.3f %6.3f %6.3f]\n" % (
            self.R[1,0], self.R[1,1], self.R[1,2], self.t[1])
        x += "[%6.3f %6.3f %6.3f %6.3f]\n" % (
            self.R[2,0], self.R[2,1], self.R[2,2], self.t[2])
        return x

    def __call__(self, vec):
        """Return the symmetry operation on argument vector.
        """
        return np.dot(self.R, vec) + self.t

    def __eq__(self, symop):
        return np.allclose(self.R, symop[0]) and np.allclose(self.t, symop[1])

    def is_identity(self):
        """Returns True if this SymOp is a identity symmetry operation
        (no rotation, no translation), otherwise returns False.
        """
        if np.allclose(self.R, np.identity(3, float)) and \
           np.allclose(self.t, np.zeros(3, float)):
            return True


class SpaceGroup(object):
    """Contains the various names and symmetry operations for one space
    group.
    """
    def __init__(self,
                 number = None,
                 num_sym_equiv = None,
                 num_primitive_sym_equiv = None,
                 short_name = None,
                 alt_name = None,
                 point_group_name = None,
                 crystal_system = None,
                 pdb_name = None,
                 symop_list = None):

        self.number = number
        self.num_sym_equiv = num_sym_equiv
        self.num_primitive_sym_equiv = num_primitive_sym_equiv
        self.short_name = short_name
        self.alt_name = alt_name
        self.point_group_name = point_group_name
        self.crystal_system = crystal_system
        self.pdb_name = pdb_name
        self.symop_list = symop_list

    def iter_symops(self):
        """Iterates over all SymOps in the SpaceGroup.
        """
        return iter(self.symop_list)

    def check_group_name(self, name):
        """Checks if the given name is a name for this space group,
        returns True or False.  The space group name can be in several forms:
        the short name, the longer PDB-style name, or the space group number.
        """
        if name == self.short_name:       return True
        if name == self.alt_name:         return True
        if name == self.pdb_name:         return True
        if name == self.point_group_name: return True
        if name == self.number:           return True
        return False

    def iter_equivalent_positions(self, vec):
        """Iterate the symmetry equivalent positions of the argument vector.
        The vector must already be in fractional coordinates, and the
        symmetry equivalent vectors are also in fractional coordinates.
        """
        for symop in self.symop_list:
            yield symop(vec)

    def __repr__(self):
        msg = "SpaceGroup{'number' : %i, 'name' : '%s', 'point_group_name'. : '%s', 'crystal_system' : '%s'}" % (self.number, self.short_name, self.point_group_name, self.crystal_system)
        return msg

## spacegroup definitions
sg1 = SpaceGroup(
    number = 1,
    num_sym_equiv = 1,
    num_primitive_sym_equiv = 1,
    short_name = "P1",
    alt_name = "P 1",
    point_group_name = "PG1",
    crystal_system = "TRICLINIC",
    pdb_name = "P 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0)])

sg2 = SpaceGroup(
    number = 2,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "P-1",
    alt_name = "P -1",
    point_group_name = "PG1bar",
    crystal_system = "TRICLINIC",
    pdb_name = "P -1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0)])

sg3 = SpaceGroup(
    number = 3,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "P2",
    alt_name = "P 2",
    point_group_name = "PG2",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 2 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0)])

sg4 = SpaceGroup(
    number = 4,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "P21",
    alt_name = "P 21",
    point_group_name = "PG2",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 21 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0)])

sg5 = SpaceGroup(
    number = 5,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "C2",
    alt_name = "C 2",
    point_group_name = "PG2",
    crystal_system = "MONOCLINIC",
    pdb_name = "C 1 2 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0)])

sg6 = SpaceGroup(
    number = 6,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "Pm",
    alt_name = "P M",
    point_group_name = "PGm",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 m 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0)])

sg7 = SpaceGroup(
    number = 7,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "Pc",
    alt_name = "P C",
    point_group_name = "PGm",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 c 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12)])

sg8 = SpaceGroup(
    number = 8,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "Cm",
    alt_name = "C M",
    point_group_name = "PGm",
    crystal_system = "MONOCLINIC",
    pdb_name = "C 1 m 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0)])

sg9 = SpaceGroup(
    number = 9,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "Cc",
    alt_name = "C C",
    point_group_name = "PGm",
    crystal_system = "MONOCLINIC",
    pdb_name = "C 1 c 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12)])

sg10 = SpaceGroup(
    number = 10,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P2/m",
    alt_name = "P 2/M",
    point_group_name = "PG2/m",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 2/m 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0)])

sg11 = SpaceGroup(
    number = 11,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P21/m",
    alt_name = "P 21/M",
    point_group_name = "PG2/m",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 21/m 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_12_0)])

sg12 = SpaceGroup(
    number = 12,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "C2/m",
    alt_name = "C 2/M",
    point_group_name = "PG2/m",
    crystal_system = "MONOCLINIC",
    pdb_name = "C 1 2/m 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0)])

sg13 = SpaceGroup(
    number = 13,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P2/c",
    alt_name = "P 2/C",
    point_group_name = "PG2/m",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 2/c 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12)])

sg14 = SpaceGroup(
    number = 14,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P21/c",
    alt_name = "P 21/C",
    point_group_name = "PG2/m",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 21/c 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12)])

sg15 = SpaceGroup(
    number = 15,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "C2/c",
    alt_name = "C 2/C",
    point_group_name = "PG2/m",
    crystal_system = "MONOCLINIC",
    pdb_name = "C 1 2/c 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12)])

sg16 = SpaceGroup(
    number = 16,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P222",
    alt_name = "P 2 2 2",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0)])

sg17 = SpaceGroup(
    number = 17,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P2221",
    alt_name = "P 2 2 21",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2 2 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0)])

sg18 = SpaceGroup(
    number = 18,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P21212",
    alt_name = "P 21 21 2",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21 21 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0)])

sg19 = SpaceGroup(
    number = 19,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P212121",
    alt_name = "P 21 21 21",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21 21 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0)])

sg20 = SpaceGroup(
    number = 20,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "C2221",
    alt_name = "C 2 2 21",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2 2 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0)])

sg21 = SpaceGroup(
    number = 21,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "C222",
    alt_name = "C 2 2 2",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0)])

sg22 = SpaceGroup(
    number = 22,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 4,
    short_name = "F222",
    alt_name = "F 2 2 2",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "F 2 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0)])

sg23 = SpaceGroup(
    number = 23,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "I222",
    alt_name = "I 2 2 2",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I 2 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12)])

sg24 = SpaceGroup(
    number = 24,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "I212121",
    alt_name = "I 21 21 21",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I 21 21 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12)])

sg25 = SpaceGroup(
    number = 25,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pmm2",
    alt_name = "P M M 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P m m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0)])

sg26 = SpaceGroup(
    number = 26,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pmc21",
    alt_name = "P M C 21",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P m c 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0)])

sg27 = SpaceGroup(
    number = 27,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pcc2",
    alt_name = "P C C 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P c c 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12)])

sg28 = SpaceGroup(
    number = 28,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pma2",
    alt_name = "P M A 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P m a 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_0)])

sg29 = SpaceGroup(
    number = 29,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pca21",
    alt_name = "P C A 21",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P c a 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12)])

sg30 = SpaceGroup(
    number = 30,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pnc2",
    alt_name = "P N C 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P n c 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12)])

sg31 = SpaceGroup(
    number = 31,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pmn21",
    alt_name = "P M N 21",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P m n 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0)])

sg32 = SpaceGroup(
    number = 32,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pba2",
    alt_name = "P B A 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P b a 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg33 = SpaceGroup(
    number = 33,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pna21",
    alt_name = "P N A 21",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P n a 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg34 = SpaceGroup(
    number = 34,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "Pnn2",
    alt_name = "P N N 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P n n 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg35 = SpaceGroup(
    number = 35,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Cmm2",
    alt_name = "C M M 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C m m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg36 = SpaceGroup(
    number = 36,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Cmc21",
    alt_name = "C M C 21",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C m c 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg37 = SpaceGroup(
    number = 37,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Ccc2",
    alt_name = "C C C 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C c c 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg38 = SpaceGroup(
    number = 38,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Amm2",
    alt_name = "A M M 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "A m m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12)])

sg39 = SpaceGroup(
    number = 39,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Abm2",
    alt_name = "A B M 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "A b m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12)])

sg40 = SpaceGroup(
    number = 40,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Ama2",
    alt_name = "A M A 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "A m a 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg41 = SpaceGroup(
    number = 41,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Aba2",
    alt_name = "A B A 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "A b a 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12)])

sg42 = SpaceGroup(
    number = 42,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 4,
    short_name = "Fmm2",
    alt_name = "F M M 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "F m m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg43 = SpaceGroup(
    number = 43,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 4,
    short_name = "Fdd2",
    alt_name = "F D D 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "F d d 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_14_14_14),
        SymOp(Rot_mX_Y_Z,    Tr_14_14_14),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_14_34_34),
        SymOp(Rot_mX_Y_Z,    Tr_14_34_34),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_34_14_34),
        SymOp(Rot_mX_Y_Z,    Tr_34_14_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_34_34_14),
        SymOp(Rot_mX_Y_Z,    Tr_34_34_14)])

sg44 = SpaceGroup(
    number = 44,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Imm2",
    alt_name = "I M M 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I m m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg45 = SpaceGroup(
    number = 45,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Iba2",
    alt_name = "I B A 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I b a 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12)])

sg46 = SpaceGroup(
    number = 46,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "Ima2",
    alt_name = "I M A 2",
    point_group_name = "PGmm2",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I m a 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12)])

sg47 = SpaceGroup(
    number = 47,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pmmm",
    alt_name = "P M M M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2/m 2/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0)])

sg48 = SpaceGroup(
    number = 48,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pnnn",
    alt_name = "P N N N",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2/n 2/n 2/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg49 = SpaceGroup(
    number = 49,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pccm",
    alt_name = "P C C M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2/c 2/c 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12)])

sg50 = SpaceGroup(
    number = 50,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pban",
    alt_name = "P B A N",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2/b 2/a 2/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg51 = SpaceGroup(
    number = 51,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pmma",
    alt_name = "P M M A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/m 2/m 2/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_0)])

sg52 = SpaceGroup(
    number = 52,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pnna",
    alt_name = "P N N A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2/n 21/n 2/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12)])

sg53 = SpaceGroup(
    number = 53,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pmna",
    alt_name = "P M N A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2/m 2/n 21/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0)])

sg54 = SpaceGroup(
    number = 54,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pcca",
    alt_name = "P C C A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/c 2/c 2/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12)])

sg55 = SpaceGroup(
    number = 55,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pbam",
    alt_name = "P B A M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/b 21/a 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg56 = SpaceGroup(
    number = 56,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pccn",
    alt_name = "P C C N",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/c 21/c 2/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12)])

sg57 = SpaceGroup(
    number = 57,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pbcm",
    alt_name = "P B C M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2/b 21/c 21/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_0)])

sg58 = SpaceGroup(
    number = 58,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pnnm",
    alt_name = "P N N M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/n 21/n 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg59 = SpaceGroup(
    number = 59,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pmmn",
    alt_name = "P M M N",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/m 21/m 2/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0)])

sg60 = SpaceGroup(
    number = 60,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pbcn",
    alt_name = "P B C N",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/b 2/c 21/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg61 = SpaceGroup(
    number = 61,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pbca",
    alt_name = "P B C A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/b 21/c 21/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg62 = SpaceGroup(
    number = 62,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pnma",
    alt_name = "P N M A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/n 21/m 21/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg63 = SpaceGroup(
    number = 63,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Cmcm",
    alt_name = "C M C M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2/m 2/c 21/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg64 = SpaceGroup(
    number = 64,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Cmca",
    alt_name = "C M C A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2/m 2/c 21/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg65 = SpaceGroup(
    number = 65,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Cmmm",
    alt_name = "C M M M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2/m 2/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg66 = SpaceGroup(
    number = 66,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Cccm",
    alt_name = "C C C M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2/c 2/c 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg67 = SpaceGroup(
    number = 67,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Cmma",
    alt_name = "C M M A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2/m 2/m 2/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0),
        SymOp(Rot_X_mY_Z,    Tr_0_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg68 = SpaceGroup(
    number = 68,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Ccca",
    alt_name = "C C C A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2/c 2/c 2/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12)])

sg69 = SpaceGroup(
    number = 69,
    num_sym_equiv = 32,
    num_primitive_sym_equiv = 8,
    short_name = "Fmmm",
    alt_name = "F M M M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "F 2/m 2/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0)])

sg70 = SpaceGroup(
    number = 70,
    num_sym_equiv = 32,
    num_primitive_sym_equiv = 8,
    short_name = "Fddd",
    alt_name = "F D D D",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "F 2/d 2/d 2/d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_14_14_14),
        SymOp(Rot_X_Y_mZ,    Tr_14_14_14),
        SymOp(Rot_X_mY_Z,    Tr_14_14_14),
        SymOp(Rot_mX_Y_Z,    Tr_14_14_14),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_14_34_34),
        SymOp(Rot_X_Y_mZ,    Tr_14_34_34),
        SymOp(Rot_X_mY_Z,    Tr_14_34_34),
        SymOp(Rot_mX_Y_Z,    Tr_14_34_34),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_34_14_34),
        SymOp(Rot_X_Y_mZ,    Tr_34_14_34),
        SymOp(Rot_X_mY_Z,    Tr_34_14_34),
        SymOp(Rot_mX_Y_Z,    Tr_34_14_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_34_34_14),
        SymOp(Rot_X_Y_mZ,    Tr_34_34_14),
        SymOp(Rot_X_mY_Z,    Tr_34_34_14),
        SymOp(Rot_mX_Y_Z,    Tr_34_34_14)])

sg71 = SpaceGroup(
    number = 71,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Immm",
    alt_name = "I M M M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I 2/m 2/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg72 = SpaceGroup(
    number = 72,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Ibam",
    alt_name = "I B A M",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I 2/b 2/a 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12)])

sg73 = SpaceGroup(
    number = 73,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Ibca",
    alt_name = "I B C A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I 21/b 21/c 21/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12)])

sg74 = SpaceGroup(
    number = 74,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "Imma",
    alt_name = "I M M A",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I 21/m 21/m 21/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0),
        SymOp(Rot_X_mY_Z,    Tr_0_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12)])

sg75 = SpaceGroup(
    number = 75,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P4",
    alt_name = "P 4",
    point_group_name = "PG4",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0)])

sg76 = SpaceGroup(
    number = 76,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P41",
    alt_name = "P 41",
    point_group_name = "PG4",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 41",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mY_X_Z,    Tr_0_0_14),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_34)])

sg77 = SpaceGroup(
    number = 77,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P42",
    alt_name = "P 42",
    point_group_name = "PG4",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12)])

sg78 = SpaceGroup(
    number = 78,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P43",
    alt_name = "P 43",
    point_group_name = "PG4",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 43",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mY_X_Z,    Tr_0_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_14)])

sg79 = SpaceGroup(
    number = 79,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "I4",
    alt_name = "I 4",
    point_group_name = "PG4",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 4",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12)])

sg80 = SpaceGroup(
    number = 80,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "I41",
    alt_name = "I 41",
    point_group_name = "PG4",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 41",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_14)])

sg81 = SpaceGroup(
    number = 81,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P-4",
    alt_name = "P -4",
    point_group_name = "PG4bar",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0)])

sg82 = SpaceGroup(
    number = 82,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "I-4",
    alt_name = "I -4",
    point_group_name = "PG4bar",
    crystal_system = "TETRAGONAL",
    pdb_name = "I -4",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12)])

sg83 = SpaceGroup(
    number = 83,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4/m",
    alt_name = "P 4/M",
    point_group_name = "PG4/m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0)])

sg84 = SpaceGroup(
    number = 84,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42/m",
    alt_name = "P 42/M",
    point_group_name = "PG4/m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_12)])

sg85 = SpaceGroup(
    number = 85,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4/n",
    alt_name = "P 4/N",
    point_group_name = "PG4/m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_0),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0)])

sg86 = SpaceGroup(
    number = 86,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42/n",
    alt_name = "P 42/N",
    point_group_name = "PG4/m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0)])

sg87 = SpaceGroup(
    number = 87,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I4/m",
    alt_name = "I 4/M",
    point_group_name = "PG4/m",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 4/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12)])

sg88 = SpaceGroup(
    number = 88,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I41/a",
    alt_name = "I 41/A",
    point_group_name = "PG4/m",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 41/a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_34),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_14),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_34),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_14),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_34),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_14),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0)])

sg89 = SpaceGroup(
    number = 89,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P422",
    alt_name = "P 4 2 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0)])

sg90 = SpaceGroup(
    number = 90,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4212",
    alt_name = "P 4 21 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4 21 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_0),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0)])

sg91 = SpaceGroup(
    number = 91,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4122",
    alt_name = "P 41 2 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 41 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mY_X_Z,    Tr_0_0_14),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_34),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_34),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_14)])

sg92 = SpaceGroup(
    number = 92,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P41212",
    alt_name = "P 41 21 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 41 21 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_34),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_14),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_34),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12)])

sg93 = SpaceGroup(
    number = 93,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4222",
    alt_name = "P 42 2 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12)])

sg94 = SpaceGroup(
    number = 94,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42212",
    alt_name = "P 42 21 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42 21 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0)])

sg95 = SpaceGroup(
    number = 95,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4322",
    alt_name = "P 43 2 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 43 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mY_X_Z,    Tr_0_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_14),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_14),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_34)])

sg96 = SpaceGroup(
    number = 96,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P43212",
    alt_name = "P 43 21 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 43 21 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_34),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_14),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_34),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_14),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12)])

sg97 = SpaceGroup(
    number = 97,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I422",
    alt_name = "I 4 2 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 4 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12)])

sg98 = SpaceGroup(
    number = 98,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I4122",
    alt_name = "I 41 2 2",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 41 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_34),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_34),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_14),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_14),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_14),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_34),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12)])

sg99 = SpaceGroup(
    number = 99,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4mm",
    alt_name = "P 4 M M",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4 m m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg100 = SpaceGroup(
    number = 100,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4bm",
    alt_name = "P 4 B M",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4 b m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg101 = SpaceGroup(
    number = 101,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42cm",
    alt_name = "P 42 C M",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42 c m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg102 = SpaceGroup(
    number = 102,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42nm",
    alt_name = "P 42 N M",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42 n m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg103 = SpaceGroup(
    number = 103,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4cc",
    alt_name = "P 4 C C",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4 c c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12)])

sg104 = SpaceGroup(
    number = 104,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P4nc",
    alt_name = "P 4 N C",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4 n c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg105 = SpaceGroup(
    number = 105,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42mc",
    alt_name = "P 42 M C",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42 m c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12)])

sg106 = SpaceGroup(
    number = 106,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42bc",
    alt_name = "P 42 B C",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42 b c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg107 = SpaceGroup(
    number = 107,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I4mm",
    alt_name = "I 4 M M",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 4 m m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg108 = SpaceGroup(
    number = 108,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I4cm",
    alt_name = "I 4 C M",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 4 c m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg109 = SpaceGroup(
    number = 109,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I41md",
    alt_name = "I 41 M D",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 41 m d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_34),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_14),
        SymOp(Rot_Y_X_Z,     Tr_12_0_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_14),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_34),
        SymOp(Rot_Y_X_Z,     Tr_0_12_14)])

sg110 = SpaceGroup(
    number = 110,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I41cd",
    alt_name = "I 41 C D",
    point_group_name = "PG4mm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 41 c d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_34),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_34),
        SymOp(Rot_Y_X_Z,     Tr_12_0_14),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_14),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_14),
        SymOp(Rot_Y_X_Z,     Tr_0_12_34)])

sg111 = SpaceGroup(
    number = 111,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-42m",
    alt_name = "P -4 2 M",
    point_group_name = "PG4bar2m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 2 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg112 = SpaceGroup(
    number = 112,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-42c",
    alt_name = "P -4 2 C",
    point_group_name = "PG4bar2m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 2 c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12)])

sg113 = SpaceGroup(
    number = 113,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-421m",
    alt_name = "P -4 21 M",
    point_group_name = "PG4bar2m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 21 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg114 = SpaceGroup(
    number = 114,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-421c",
    alt_name = "P -4 21 C",
    point_group_name = "PG4bar2m",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 21 c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg115 = SpaceGroup(
    number = 115,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-4m2",
    alt_name = "P -4 M 2",
    point_group_name = "PG4barm2",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0)])

sg116 = SpaceGroup(
    number = 116,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-4c2",
    alt_name = "P -4 C 2",
    point_group_name = "PG4barm2",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 c 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12)])

sg117 = SpaceGroup(
    number = 117,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-4b2",
    alt_name = "P -4 B 2",
    point_group_name = "PG4barm2",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 b 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0)])

sg118 = SpaceGroup(
    number = 118,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P-4n2",
    alt_name = "P -4 N 2",
    point_group_name = "PG4barm2",
    crystal_system = "TETRAGONAL",
    pdb_name = "P -4 n 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12)])

sg119 = SpaceGroup(
    number = 119,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I-4m2",
    alt_name = "I -4 M 2",
    point_group_name = "PG4barm2",
    crystal_system = "TETRAGONAL",
    pdb_name = "I -4 m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12)])

sg120 = SpaceGroup(
    number = 120,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I-4c2",
    alt_name = "I -4 C 2",
    point_group_name = "PG4barm2",
    crystal_system = "TETRAGONAL",
    pdb_name = "I -4 c 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0)])

sg121 = SpaceGroup(
    number = 121,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I-42m",
    alt_name = "I -4 2 M",
    point_group_name = "PG4bar2m",
    crystal_system = "TETRAGONAL",
    pdb_name = "I -4 2 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg122 = SpaceGroup(
    number = 122,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 8,
    short_name = "I-42d",
    alt_name = "I -4 2 D",
    point_group_name = "PG4bar2m",
    crystal_system = "TETRAGONAL",
    pdb_name = "I -4 2 d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_34),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_34),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_34),
        SymOp(Rot_Y_X_Z,     Tr_12_0_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_14),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_14),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_14),
        SymOp(Rot_Y_X_Z,     Tr_0_12_14)])

sg123 = SpaceGroup(
    number = 123,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/mmm",
    alt_name = "P 4/M M M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/m 2/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg124 = SpaceGroup(
    number = 124,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/mcc",
    alt_name = "P 4/M C C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/m 2/c 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12)])

sg125 = SpaceGroup(
    number = 125,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/nbm",
    alt_name = "P 4/N B M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/n 2/b 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg126 = SpaceGroup(
    number = 126,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/nnc",
    alt_name = "P 4/N N C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/n 2/n 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg127 = SpaceGroup(
    number = 127,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/mbm",
    alt_name = "P 4/M B M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/m 21/b 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg128 = SpaceGroup(
    number = 128,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/mnc",
    alt_name = "P 4/M N C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/m 21/n 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg129 = SpaceGroup(
    number = 129,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/nmm",
    alt_name = "P 4/N M M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/n 21/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_0),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg130 = SpaceGroup(
    number = 130,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P4/ncc",
    alt_name = "P 4/N C C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 4/n 2/c 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_0),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg131 = SpaceGroup(
    number = 131,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/mmc",
    alt_name = "P 42/M M C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/m 2/m 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12)])

sg132 = SpaceGroup(
    number = 132,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/mcm",
    alt_name = "P 42/M C M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/m 2/c 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg133 = SpaceGroup(
    number = 133,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/nbc",
    alt_name = "P 42/N B C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/n 2/b 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12)])

sg134 = SpaceGroup(
    number = 134,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/nnm",
    alt_name = "P 42/N N M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/n 2/n 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg135 = SpaceGroup(
    number = 135,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/mbc",
    alt_name = "P 42/M B C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/m 21/b 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg136 = SpaceGroup(
    number = 136,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/mnm",
    alt_name = "P 42/M N M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/m 21/n 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0)])

sg137 = SpaceGroup(
    number = 137,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/nmc",
    alt_name = "P 42/N M C",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/n 21/m 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg138 = SpaceGroup(
    number = 138,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 16,
    short_name = "P42/ncm",
    alt_name = "P 42/N C M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42/n 21/c 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg139 = SpaceGroup(
    number = 139,
    num_sym_equiv = 32,
    num_primitive_sym_equiv = 16,
    short_name = "I4/mmm",
    alt_name = "I 4/M M M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 4/m 2/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12)])

sg140 = SpaceGroup(
    number = 140,
    num_sym_equiv = 32,
    num_primitive_sym_equiv = 16,
    short_name = "I4/mcm",
    alt_name = "I 4/M C M",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 4/m 2/c 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0)])

sg141 = SpaceGroup(
    number = 141,
    num_sym_equiv = 32,
    num_primitive_sym_equiv = 16,
    short_name = "I41/amd",
    alt_name = "I 41/A M D",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 41/a 2/m 2/d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_34),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_34),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_14),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_14),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_34),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_34),
        SymOp(Rot_Y_X_Z,     Tr_0_12_14),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_14),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_14),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_34),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_34),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_14),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_14),
        SymOp(Rot_Y_X_Z,     Tr_12_0_34)])

sg142 = SpaceGroup(
    number = 142,
    num_sym_equiv = 32,
    num_primitive_sym_equiv = 16,
    short_name = "I41/acd",
    alt_name = "I 41/A C D",
    point_group_name = "PG4/mmm",
    crystal_system = "TETRAGONAL",
    pdb_name = "I 41/a 2/c 2/d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_14),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_34),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_14),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_34),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_14),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_34),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_14),
        SymOp(Rot_Y_X_Z,     Tr_0_12_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_34),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_14),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_34),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_14),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_34),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_14),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_34),
        SymOp(Rot_Y_X_Z,     Tr_12_0_14)])

sg143 = SpaceGroup(
    number = 143,
    num_sym_equiv = 3,
    num_primitive_sym_equiv = 3,
    short_name = "P3",
    alt_name = "P 3",
    point_group_name = "PG3",
    crystal_system = "TRIGONAL",
    pdb_name = "P 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0)])

sg144 = SpaceGroup(
    number = 144,
    num_sym_equiv = 3,
    num_primitive_sym_equiv = 3,
    short_name = "P31",
    alt_name = "P 31",
    point_group_name = "PG3",
    crystal_system = "TRIGONAL",
    pdb_name = "P 31",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_13),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_23)])

sg145 = SpaceGroup(
    number = 145,
    num_sym_equiv = 3,
    num_primitive_sym_equiv = 3,
    short_name = "P32",
    alt_name = "P 32",
    point_group_name = "PG3",
    crystal_system = "TRIGONAL",
    pdb_name = "P 32",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_23),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_13)])
# hexagonal
sg146 = SpaceGroup(
    number = 146,
    num_sym_equiv = 9,
    num_primitive_sym_equiv = 3,
    short_name = "H3",
    alt_name = "H 3",
    point_group_name = "PG3",
    crystal_system = "TRIGONAL",
    pdb_name = "H 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_23_13_13),
        SymOp(Rot_mY_XmY_Z,  Tr_23_13_13),
        SymOp(Rot_mXY_mX_Z,  Tr_23_13_13),
        SymOp(Rot_X_Y_Z,     Tr_13_23_23),
        SymOp(Rot_mY_XmY_Z,  Tr_13_23_23),
        SymOp(Rot_mXY_mX_Z,  Tr_13_23_23)])
# rombohedral
sg1146 = SpaceGroup(
    number = 1146,
    num_sym_equiv = 3,
    num_primitive_sym_equiv = 3,
    short_name = "R3",
    alt_name = "R 3",
    point_group_name = "PG3",
    crystal_system = "TRIGONAL",
    pdb_name = "R 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0)])

sg147 = SpaceGroup(
    number = 147,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P-3",
    alt_name = "P -3",
    point_group_name = "PG3bar",
    crystal_system = "TRIGONAL",
    pdb_name = "P -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0)])
# hexagonal
sg148 = SpaceGroup(
    number = 148,
    num_sym_equiv = 18,
    num_primitive_sym_equiv = 6,
    short_name = "H-3",
    alt_name = "H -3",
    point_group_name = "PG3bar",
    crystal_system = "TRIGONAL",
    pdb_name = "H -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_23_13_13),
        SymOp(Rot_mY_XmY_Z,  Tr_23_13_13),
        SymOp(Rot_mXY_mX_Z,  Tr_23_13_13),
        SymOp(Rot_mX_mY_mZ,  Tr_23_13_13),
        SymOp(Rot_Y_mXY_mZ,  Tr_23_13_13),
        SymOp(Rot_XmY_X_mZ,  Tr_23_13_13),
        SymOp(Rot_X_Y_Z,     Tr_13_23_23),
        SymOp(Rot_mY_XmY_Z,  Tr_13_23_23),
        SymOp(Rot_mXY_mX_Z,  Tr_13_23_23),
        SymOp(Rot_mX_mY_mZ,  Tr_13_23_23),
        SymOp(Rot_Y_mXY_mZ,  Tr_13_23_23),
        SymOp(Rot_XmY_X_mZ,  Tr_13_23_23)])
# rombohedral
sg1148 = SpaceGroup(
    number = 1148,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "R-3",
    point_group_name = "PG3bar",
    crystal_system = "TRIGONAL",
    pdb_name = "R -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0)])

sg149 = SpaceGroup(
    number = 149,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P312",
    alt_name = "P 3 1 2",
    point_group_name = "PG312",
    crystal_system = "TRIGONAL",
    pdb_name = "P 3 1 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0)])

sg150 = SpaceGroup(
    number = 150,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P321",
    alt_name = "P 3 2 1",
    point_group_name = "PG321",
    crystal_system = "TRIGONAL",
    pdb_name = "P 3 2 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0)])

sg151 = SpaceGroup(
    number = 151,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P3112",
    alt_name = "P 31 1 2",
    point_group_name = "PG312",
    crystal_system = "TRIGONAL",
    pdb_name = "P 31 1 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_13),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_23),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_23),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_13),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0)])

sg152 = SpaceGroup(
    number = 152,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P3121",
    alt_name = "P 31 2 1",
    point_group_name = "PG321",
    crystal_system = "TRIGONAL",
    pdb_name = "P 31 2 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_13),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_23),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_23),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_13)])

sg153 = SpaceGroup(
    number = 153,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P3212",
    alt_name = "P 32 1 2",
    point_group_name = "PG312",
    crystal_system = "TRIGONAL",
    pdb_name = "P 32 1 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_23),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_13),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_13),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_23),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0)])

sg154 = SpaceGroup(
    number = 154,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P3221",
    alt_name = "P 32 2 1",
    point_group_name = "PG321",
    crystal_system = "TRIGONAL",
    pdb_name = "P 32 2 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_23),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_13),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_13),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_23)])
# hexagonal
sg155 = SpaceGroup(
    number = 155,
    num_sym_equiv = 18,
    num_primitive_sym_equiv = 6,
    short_name = "H32",
    alt_name = "H 3 2" ,
    point_group_name = "PG321",
    crystal_system = "TRIGONAL",
    pdb_name = "H 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_23_13_13),
        SymOp(Rot_mY_XmY_Z,  Tr_23_13_13),
        SymOp(Rot_mXY_mX_Z,  Tr_23_13_13),
        SymOp(Rot_Y_X_mZ,    Tr_23_13_13),
        SymOp(Rot_XmY_mY_mZ, Tr_23_13_13),
        SymOp(Rot_mX_mXY_mZ, Tr_23_13_13),
        SymOp(Rot_X_Y_Z,     Tr_13_23_23),
        SymOp(Rot_mY_XmY_Z,  Tr_13_23_23),
        SymOp(Rot_mXY_mX_Z,  Tr_13_23_23),
        SymOp(Rot_Y_X_mZ,    Tr_13_23_23),
        SymOp(Rot_XmY_mY_mZ, Tr_13_23_23),
        SymOp(Rot_mX_mXY_mZ, Tr_13_23_23)])
# rombohedral
sg1155 = SpaceGroup(
    number = 1155,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "R32",
    alt_name = "R 3 2",
    point_group_name = "PG32",
    crystal_system = "TRIGONAL",
    pdb_name = "R 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0)])

sg156 = SpaceGroup(
    number = 156,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P3m1",
    alt_name = "P 3 M 1",
    point_group_name = "PG3m1",
    crystal_system = "TRIGONAL",
    pdb_name = "P 3 m 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0)])

sg157 = SpaceGroup(
    number = 157,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P31m",
    alt_name = "P 3 1 M",
    point_group_name = "PG31m",
    crystal_system = "TRIGONAL",
    pdb_name = "P 3 1 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_0)])

sg158 = SpaceGroup(
    number = 158,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P3c1",
    alt_name = "P 3 C 1",
    point_group_name = "PG3m1",
    crystal_system = "TRIGONAL",
    pdb_name = "P 3 c 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12)])

sg159 = SpaceGroup(
    number = 159,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P31c",
    alt_name = "P 3 1 C",
    point_group_name = "PG31m",
    crystal_system = "TRIGONAL",
    pdb_name = "P 3 1 c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_12),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_12)])
# hexagonal
sg160 = SpaceGroup(
    number = 160,
    num_sym_equiv = 18,
    num_primitive_sym_equiv = 6,
    short_name = "H3m",
    alt_name = "H 3 M",
    point_group_name = "PG3m",
    crystal_system = "TRIGONAL",
    pdb_name = "H 3 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_23_13_13),
        SymOp(Rot_mY_XmY_Z,  Tr_23_13_13),
        SymOp(Rot_mXY_mX_Z,  Tr_23_13_13),
        SymOp(Rot_mY_mX_Z,   Tr_23_13_13),
        SymOp(Rot_mXY_Y_Z,   Tr_23_13_13),
        SymOp(Rot_X_XmY_Z,   Tr_23_13_13),
        SymOp(Rot_X_Y_Z,     Tr_13_23_23),
        SymOp(Rot_mY_XmY_Z,  Tr_13_23_23),
        SymOp(Rot_mXY_mX_Z,  Tr_13_23_23),
        SymOp(Rot_mY_mX_Z,   Tr_13_23_23),
        SymOp(Rot_mXY_Y_Z,   Tr_13_23_23),
        SymOp(Rot_X_XmY_Z,   Tr_13_23_23)])
# rombohedral
sg1160 = SpaceGroup(
    number = 1160,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "R3m",
    alt_name = "R 3 M",
    point_group_name = "PG3m",
    crystal_system = "TRIGONAL",
    pdb_name = "R 3 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0)])
# hexagonal
sg161 = SpaceGroup(
    number = 161,
    num_sym_equiv = 18,
    num_primitive_sym_equiv = 6,
    short_name = "H3c",
    alt_name = "H 3 C",
    point_group_name = "PG3m",
    crystal_system = "TRIGONAL",
    pdb_name = "H 3 c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_23_13_13),
        SymOp(Rot_mY_XmY_Z,  Tr_23_13_13),
        SymOp(Rot_mXY_mX_Z,  Tr_23_13_13),
        SymOp(Rot_mY_mX_Z,   Tr_23_13_56),
        SymOp(Rot_mXY_Y_Z,   Tr_23_13_56),
        SymOp(Rot_X_XmY_Z,   Tr_23_13_56),
        SymOp(Rot_X_Y_Z,     Tr_13_23_23),
        SymOp(Rot_mY_XmY_Z,  Tr_13_23_23),
        SymOp(Rot_mXY_mX_Z,  Tr_13_23_23),
        SymOp(Rot_mY_mX_Z,   Tr_13_23_16),
        SymOp(Rot_mXY_Y_Z,   Tr_13_23_16),
        SymOp(Rot_X_XmY_Z,   Tr_13_23_16)])
# rombohedral
sg1161 = SpaceGroup(
    number = 1161,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "R3c",
    alt_name = "R 3 C",
    point_group_name = "PG3m",
    crystal_system = "TRIGONAL",
    pdb_name = "R 3 c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12)])

sg162 = SpaceGroup(
    number = 162,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-31m",
    alt_name = "P -3 1 M",
    point_group_name = "PG3bar1m",
    crystal_system = "TRIGONAL",
    pdb_name = "P -3 1 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_0)])

sg163 = SpaceGroup(
    number = 163,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-31c",
    alt_name = "P -3 1 C",
    point_group_name = "PG3bar1m",
    crystal_system = "TRIGONAL",
    pdb_name = "P -3 1 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_12),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_12),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_12)])

sg164 = SpaceGroup(
    number = 164,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-3m1",
    alt_name = "P -3 M 1",
    point_group_name = "PG3barm1",
    crystal_system = "TRIGONAL",
    pdb_name = "P -3 2/m 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0)])

sg165 = SpaceGroup(
    number = 165,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-3c1",
    alt_name = "P -3 C 1",
    point_group_name = "PG3barm1",
    crystal_system = "TRIGONAL",
    pdb_name = "P -3 2/c 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_12),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12)])
# hexagonal
sg166 = SpaceGroup(
    number = 166,
    num_sym_equiv = 36,
    num_primitive_sym_equiv = 12,
    short_name = "H-3m",
    alt_name = "H -3 M",
    point_group_name = "PG3barm",
    crystal_system = "TRIGONAL",
    pdb_name = "H -3 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_23_13_13),
        SymOp(Rot_mY_XmY_Z,  Tr_23_13_13),
        SymOp(Rot_mXY_mX_Z,  Tr_23_13_13),
        SymOp(Rot_Y_X_mZ,    Tr_23_13_13),
        SymOp(Rot_XmY_mY_mZ, Tr_23_13_13),
        SymOp(Rot_mX_mXY_mZ, Tr_23_13_13),
        SymOp(Rot_mX_mY_mZ,  Tr_23_13_13),
        SymOp(Rot_Y_mXY_mZ,  Tr_23_13_13),
        SymOp(Rot_XmY_X_mZ,  Tr_23_13_13),
        SymOp(Rot_mY_mX_Z,   Tr_23_13_13),
        SymOp(Rot_mXY_Y_Z,   Tr_23_13_13),
        SymOp(Rot_X_XmY_Z,   Tr_23_13_13),
        SymOp(Rot_X_Y_Z,     Tr_13_23_23),
        SymOp(Rot_mY_XmY_Z,  Tr_13_23_23),
        SymOp(Rot_mXY_mX_Z,  Tr_13_23_23),
        SymOp(Rot_Y_X_mZ,    Tr_13_23_23),
        SymOp(Rot_XmY_mY_mZ, Tr_13_23_23),
        SymOp(Rot_mX_mXY_mZ, Tr_13_23_23),
        SymOp(Rot_mX_mY_mZ,  Tr_13_23_23),
        SymOp(Rot_Y_mXY_mZ,  Tr_13_23_23),
        SymOp(Rot_XmY_X_mZ,  Tr_13_23_23),
        SymOp(Rot_mY_mX_Z,   Tr_13_23_23),
        SymOp(Rot_mXY_Y_Z,   Tr_13_23_23),
        SymOp(Rot_X_XmY_Z,   Tr_13_23_23)])
# rombohedral
sg1166 = SpaceGroup(
    number = 1166,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "R-3m",
    alt_name = "R -3 M",
    point_group_name = "PG3barm",
    crystal_system = "TRIGONAL",
    pdb_name = "R -3 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0)])
# hexagonal
sg167 = SpaceGroup(
    number = 167,
    num_sym_equiv = 36,
    num_primitive_sym_equiv = 12,
    short_name = "H-3c",
    alt_name = "H -3 C",
    point_group_name = "PG3barm",
    crystal_system = "TRIGONAL",
    pdb_name = "H -3 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_12),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_23_13_13),
        SymOp(Rot_mY_XmY_Z,  Tr_23_13_13),
        SymOp(Rot_mXY_mX_Z,  Tr_23_13_13),
        SymOp(Rot_Y_X_mZ,    Tr_23_13_56),
        SymOp(Rot_XmY_mY_mZ, Tr_23_13_56),
        SymOp(Rot_mX_mXY_mZ, Tr_23_13_56),
        SymOp(Rot_mX_mY_mZ,  Tr_23_13_13),
        SymOp(Rot_Y_mXY_mZ,  Tr_23_13_13),
        SymOp(Rot_XmY_X_mZ,  Tr_23_13_13),
        SymOp(Rot_mY_mX_Z,   Tr_23_13_56),
        SymOp(Rot_mXY_Y_Z,   Tr_23_13_56),
        SymOp(Rot_X_XmY_Z,   Tr_23_13_56),
        SymOp(Rot_X_Y_Z,     Tr_13_23_23),
        SymOp(Rot_mY_XmY_Z,  Tr_13_23_23),
        SymOp(Rot_mXY_mX_Z,  Tr_13_23_23),
        SymOp(Rot_Y_X_mZ,    Tr_13_23_16),
        SymOp(Rot_XmY_mY_mZ, Tr_13_23_16),
        SymOp(Rot_mX_mXY_mZ, Tr_13_23_16),
        SymOp(Rot_mX_mY_mZ,  Tr_13_23_23),
        SymOp(Rot_Y_mXY_mZ,  Tr_13_23_23),
        SymOp(Rot_XmY_X_mZ,  Tr_13_23_23),
        SymOp(Rot_mY_mX_Z,   Tr_13_23_16),
        SymOp(Rot_mXY_Y_Z,   Tr_13_23_16),
        SymOp(Rot_X_XmY_Z,   Tr_13_23_16)])
# rombohedral
sg1167 = SpaceGroup(
    number = 1167,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "R-3c",
    alt_name = "R -3 C",
    point_group_name = "PG3barm",
    crystal_system = "TRIGONAL",
    pdb_name = "R -3 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12)])

sg168 = SpaceGroup(
    number = 168,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P6",
    alt_name = "P 6",
    point_group_name = "PG6",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 6",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_0),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_0)])

sg169 = SpaceGroup(
    number = 169,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P61",
    alt_name = "P 61",
    point_group_name = "PG6",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 61",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_13),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_23),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_56),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_16)])

sg170 = SpaceGroup(
    number = 170,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P65",
    alt_name = "P 65",
    point_group_name = "PG6",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 65",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_23),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_13),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_16),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_56)])

sg171 = SpaceGroup(
    number = 171,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P62",
    alt_name = "P 62",
    point_group_name = "PG6",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 62",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_23),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_13),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_23),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_13)])

sg172 = SpaceGroup(
    number = 172,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P64",
    alt_name = "P 64",
    point_group_name = "PG6",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 64",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_13),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_23),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_13),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_23)])

sg173 = SpaceGroup(
    number = 173,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P63",
    alt_name = "P 63",
    point_group_name = "PG6",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 63",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_12),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_12)])

sg174 = SpaceGroup(
    number = 174,
    num_sym_equiv = 6,
    num_primitive_sym_equiv = 6,
    short_name = "P-6",
    alt_name = "P -6",
    point_group_name = "PG6bar",
    crystal_system = "HEXAGONAL",
    pdb_name = "P -6",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_0),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_0)])

sg175 = SpaceGroup(
    number = 175,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6/m",
    alt_name = "P 6/M",
    point_group_name = "PG6/m",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 6/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_0),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_0),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_0)])

sg176 = SpaceGroup(
    number = 176,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P63/m",
    alt_name = "P 63/M",
    point_group_name = "PG6/m",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 63/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_12),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_12),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_12)])

sg177 = SpaceGroup(
    number = 177,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P622",
    alt_name = "P 6 2 2",
    point_group_name = "PG622",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 6 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_0),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0)])

sg178 = SpaceGroup(
    number = 178,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6122",
    alt_name = "P 61 2 2",
    point_group_name = "PG622",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 61 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_13),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_23),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_56),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_16),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_13),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_23),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_56),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_12),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_16)])

sg179 = SpaceGroup(
    number = 179,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6522",
    alt_name = "P 65 2 2",
    point_group_name = "PG622",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 65 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_23),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_13),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_16),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_56),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_23),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_13),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_16),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_12),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_56)])

sg180 = SpaceGroup(
    number = 180,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6222",
    alt_name = "P 62 2 2",
    point_group_name = "PG622",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 62 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_23),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_13),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_23),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_13),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_23),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_13),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_23),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_13)])

sg181 = SpaceGroup(
    number = 181,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6422",
    alt_name = "P 64 2 2",
    point_group_name = "PG622",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 64 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_13),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_23),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_13),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_23),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_13),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_23),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_13),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_23)])

sg182 = SpaceGroup(
    number = 182,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6322",
    alt_name = "P 63 2 2",
    point_group_name = "PG622",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 63 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_12),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_12),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_12)])

sg183 = SpaceGroup(
    number = 183,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6mm",
    alt_name = "P 6 M M",
    point_group_name = "PG6mm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 6 m m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_0),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_0)])

sg184 = SpaceGroup(
    number = 184,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P6cc",
    alt_name = "P 6 C C",
    point_group_name = "PG6mm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 6 c c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_0),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_12),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_12)])

sg185 = SpaceGroup(
    number = 185,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P63cm",
    alt_name = "P 63 C M",
    point_group_name = "PG6mm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 63 c m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_12),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_0)])

sg186 = SpaceGroup(
    number = 186,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P63mc",
    alt_name = "P 63 M C",
    point_group_name = "PG6mm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 63 m c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_12),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_12),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_12)])

sg187 = SpaceGroup(
    number = 187,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-6m2",
    alt_name = "P -6 M 2",
    point_group_name = "PG6barm2",
    crystal_system = "HEXAGONAL",
    pdb_name = "P -6 m 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_0),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0)])

sg188 = SpaceGroup(
    number = 188,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-6c2",
    alt_name = "P -6 C 2",
    point_group_name = "PG6barm2",
    crystal_system = "HEXAGONAL",
    pdb_name = "P -6 c 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_12),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0)])

sg189 = SpaceGroup(
    number = 189,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-62m",
    alt_name = "P -6 2 M",
    point_group_name = "PG6bar2m",
    crystal_system = "HEXAGONAL",
    pdb_name = "P -6 2 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_0),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_0)])

sg190 = SpaceGroup(
    number = 190,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P-62c",
    alt_name = "P -6 2 C",
    point_group_name = "PG6bar2m",
    crystal_system = "HEXAGONAL",
    pdb_name = "P -6 2 c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_12),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_12),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_12)])

sg191 = SpaceGroup(
    number = 191,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P6/mmm",
    alt_name = "P 6/M M M",
    point_group_name = "PG6/mmm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 6/m 2/m 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_0),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_0),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_0)])

sg192 = SpaceGroup(
    number = 192,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P6/mcc",
    alt_name = "P 6/M C C",
    point_group_name = "PG6/mmm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 6/m 2/c 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_0),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_12),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_12),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_0),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_12),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_12)])

sg193 = SpaceGroup(
    number = 193,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P63/mcm",
    alt_name = "P 63/M C M",
    point_group_name = "PG6/mmm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 63/m 2/c 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_12),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_12),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_0),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_12),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_12),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_0)])

sg194 = SpaceGroup(
    number = 194,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P63/mmc",
    alt_name = "P 63/M M C",
    point_group_name = "PG6/mmm",
    crystal_system = "HEXAGONAL",
    pdb_name = "P 63/m 2/m 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mY_XmY_Z,  Tr_0_0_0),
        SymOp(Rot_mXY_mX_Z,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mXY_Z,   Tr_0_0_12),
        SymOp(Rot_XmY_X_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_XmY_mY_mZ, Tr_0_0_0),
        SymOp(Rot_mX_mXY_mZ, Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_mXY_Y_mZ,  Tr_0_0_12),
        SymOp(Rot_X_XmY_mZ,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mXY_mZ,  Tr_0_0_0),
        SymOp(Rot_XmY_X_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12),
        SymOp(Rot_mXY_mX_mZ, Tr_0_0_12),
        SymOp(Rot_mY_XmY_mZ, Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_mXY_Y_Z,   Tr_0_0_0),
        SymOp(Rot_X_XmY_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_XmY_mY_Z,  Tr_0_0_12),
        SymOp(Rot_mX_mXY_Z,  Tr_0_0_12)])

sg195 = SpaceGroup(
    number = 195,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P23",
    alt_name = "P 2 3",
    point_group_name = "PG23",
    crystal_system = "CUBIC",
    pdb_name = "P 2 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0)])

sg196 = SpaceGroup(
    number = 196,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 12,
    short_name = "F23",
    alt_name = "F 2 3" ,
    point_group_name = "PG23",
    crystal_system = "CUBIC",
    pdb_name = "F 2 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0)])

sg197 = SpaceGroup(
    number = 197,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 12,
    short_name = "I23",
    alt_name = "I 2 3" ,
    point_group_name = "PG23",
    crystal_system = "CUBIC",
    pdb_name = "I 2 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_12)])

sg198 = SpaceGroup(
    number = 198,
    num_sym_equiv = 12,
    num_primitive_sym_equiv = 12,
    short_name = "P213",
    alt_name = "P 21 3 ",
    point_group_name = "PG23",
    crystal_system = "CUBIC",
    pdb_name = "P 21 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12)])

sg199 = SpaceGroup(
    number = 199,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 12,
    short_name = "I213",
    alt_name = "I 21 3 ",
    point_group_name = "PG23",
    crystal_system = "CUBIC",
    pdb_name = "I 21 3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_0)])

sg200 = SpaceGroup(
    number = 200,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "Pm-3",
    alt_name = "P M 3",
    point_group_name = "PGm3bar",
    crystal_system = "CUBIC",
    pdb_name = "P 2/m -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0)])

sg201 = SpaceGroup(
    number = 201,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "Pn-3",
    alt_name = "P N 3",
    point_group_name = "PGm3bar",
    crystal_system = "CUBIC",
    pdb_name = "P 2/n -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_12),
        SymOp(Rot_Z_X_mY,    Tr_12_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_12)])

sg202 = SpaceGroup(
    number = 202,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 24,
    short_name = "Fm-3",
    alt_name = "F M 3",
    point_group_name = "PGm3bar",
    crystal_system = "CUBIC",
    pdb_name = "F 2/m -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_0_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_0_12_12),
        SymOp(Rot_Z_X_mY,    Tr_0_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_0_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_0_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_0_12_12),
        SymOp(Rot_mY_Z_X,    Tr_0_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_0_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_0_12),
        SymOp(Rot_Z_X_mY,    Tr_12_0_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_0_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_0_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_0_12),
        SymOp(Rot_mY_Z_X,    Tr_12_0_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_0),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_0),
        SymOp(Rot_Z_X_mY,    Tr_12_12_0),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_0),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_0),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_0),
        SymOp(Rot_mY_Z_X,    Tr_12_12_0),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_0)])

sg203 = SpaceGroup(
    number = 203,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 24,
    short_name = "Fd-3",
    alt_name = "F D 3",
    point_group_name = "PGm3bar",
    crystal_system = "CUBIC",
    pdb_name = "F 2/d -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_14_14_14),
        SymOp(Rot_X_Y_mZ,    Tr_14_14_14),
        SymOp(Rot_X_mY_Z,    Tr_14_14_14),
        SymOp(Rot_mX_Y_Z,    Tr_14_14_14),
        SymOp(Rot_mZ_mX_mY,  Tr_14_14_14),
        SymOp(Rot_mZ_X_Y,    Tr_14_14_14),
        SymOp(Rot_Z_X_mY,    Tr_14_14_14),
        SymOp(Rot_Z_mX_Y,    Tr_14_14_14),
        SymOp(Rot_mY_mZ_mX,  Tr_14_14_14),
        SymOp(Rot_Y_mZ_X,    Tr_14_14_14),
        SymOp(Rot_mY_Z_X,    Tr_14_14_14),
        SymOp(Rot_Y_Z_mX,    Tr_14_14_14),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_14_34_34),
        SymOp(Rot_X_Y_mZ,    Tr_14_34_34),
        SymOp(Rot_X_mY_Z,    Tr_14_34_34),
        SymOp(Rot_mX_Y_Z,    Tr_14_34_34),
        SymOp(Rot_mZ_mX_mY,  Tr_14_34_34),
        SymOp(Rot_mZ_X_Y,    Tr_14_34_34),
        SymOp(Rot_Z_X_mY,    Tr_14_34_34),
        SymOp(Rot_Z_mX_Y,    Tr_14_34_34),
        SymOp(Rot_mY_mZ_mX,  Tr_14_34_34),
        SymOp(Rot_Y_mZ_X,    Tr_14_34_34),
        SymOp(Rot_mY_Z_X,    Tr_14_34_34),
        SymOp(Rot_Y_Z_mX,    Tr_14_34_34),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_34_14_34),
        SymOp(Rot_X_Y_mZ,    Tr_34_14_34),
        SymOp(Rot_X_mY_Z,    Tr_34_14_34),
        SymOp(Rot_mX_Y_Z,    Tr_34_14_34),
        SymOp(Rot_mZ_mX_mY,  Tr_34_14_34),
        SymOp(Rot_mZ_X_Y,    Tr_34_14_34),
        SymOp(Rot_Z_X_mY,    Tr_34_14_34),
        SymOp(Rot_Z_mX_Y,    Tr_34_14_34),
        SymOp(Rot_mY_mZ_mX,  Tr_34_14_34),
        SymOp(Rot_Y_mZ_X,    Tr_34_14_34),
        SymOp(Rot_mY_Z_X,    Tr_34_14_34),
        SymOp(Rot_Y_Z_mX,    Tr_34_14_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_34_34_14),
        SymOp(Rot_X_Y_mZ,    Tr_34_34_14),
        SymOp(Rot_X_mY_Z,    Tr_34_34_14),
        SymOp(Rot_mX_Y_Z,    Tr_34_34_14),
        SymOp(Rot_mZ_mX_mY,  Tr_34_34_14),
        SymOp(Rot_mZ_X_Y,    Tr_34_34_14),
        SymOp(Rot_Z_X_mY,    Tr_34_34_14),
        SymOp(Rot_Z_mX_Y,    Tr_34_34_14),
        SymOp(Rot_mY_mZ_mX,  Tr_34_34_14),
        SymOp(Rot_Y_mZ_X,    Tr_34_34_14),
        SymOp(Rot_mY_Z_X,    Tr_34_34_14),
        SymOp(Rot_Y_Z_mX,    Tr_34_34_14)])

sg204 = SpaceGroup(
    number = 204,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 24,
    short_name = "Im-3",
    alt_name = "I M 3",
    point_group_name = "PGm3bar",
    crystal_system = "CUBIC",
    pdb_name = "I 2/m -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_12),
        SymOp(Rot_Z_X_mY,    Tr_12_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_12)])

sg205 = SpaceGroup(
    number = 205,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "Pa-3",
    alt_name = "P A 3",
    point_group_name = "PGm3bar",
    crystal_system = "CUBIC",
    pdb_name = "P 21/a -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_0),
        SymOp(Rot_Z_X_mY,    Tr_12_0_12),
        SymOp(Rot_Z_mX_Y,    Tr_0_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_0),
        SymOp(Rot_Y_Z_mX,    Tr_12_0_12)])

sg206 = SpaceGroup(
    number = 206,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 24,
    short_name = "Ia-3",
    alt_name = "I A 3",
    point_group_name = "PGm3bar",
    crystal_system = "CUBIC",
    pdb_name = "I 21/a -3",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_0),
        SymOp(Rot_Z_X_mY,    Tr_12_0_12),
        SymOp(Rot_Z_mX_Y,    Tr_0_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_0),
        SymOp(Rot_Y_Z_mX,    Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_12),
        SymOp(Rot_Z_X_mY,    Tr_0_12_0),
        SymOp(Rot_Z_mX_Y,    Tr_12_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_12),
        SymOp(Rot_Y_Z_mX,    Tr_0_12_0)])

sg207 = SpaceGroup(
    number = 207,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P432",
    alt_name = "P 4 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "P 4 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_X_Z_mY,    Tr_0_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_0),
        SymOp(Rot_Z_mY_X,    Tr_0_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0)])

sg208 = SpaceGroup(
    number = 208,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P4232",
    alt_name = "P 42 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "P 42 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_X_Z_mY,    Tr_12_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_12),
        SymOp(Rot_Z_mY_X,    Tr_12_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_12)])

sg209 = SpaceGroup(
    number = 209,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 24,
    short_name = "F432",
    alt_name = "F 4 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "F 4 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_X_Z_mY,    Tr_0_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_0),
        SymOp(Rot_Z_mY_X,    Tr_0_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_12),
        SymOp(Rot_X_Z_mY,    Tr_0_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_0_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_0_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_0_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_0_12_12),
        SymOp(Rot_Z_mY_X,    Tr_0_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_0_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_12),
        SymOp(Rot_mY_X_Z,    Tr_12_0_12),
        SymOp(Rot_X_Z_mY,    Tr_12_0_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_0_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_0_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_0_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_0_12),
        SymOp(Rot_Z_mY_X,    Tr_12_0_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_0_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_0),
        SymOp(Rot_X_Z_mY,    Tr_12_12_0),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_0),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_0),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_0),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_0),
        SymOp(Rot_Z_mY_X,    Tr_12_12_0),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_0),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_0)])

sg210 = SpaceGroup(
    number = 210,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 24,
    short_name = "F4132",
    alt_name = "F 41 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "F 41 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_34_14_34),
        SymOp(Rot_mY_mX_mZ,  Tr_14_14_14),
        SymOp(Rot_Y_mX_Z,    Tr_14_34_34),
        SymOp(Rot_mY_X_Z,    Tr_34_34_14),
        SymOp(Rot_X_Z_mY,    Tr_34_14_34),
        SymOp(Rot_mX_Z_Y,    Tr_34_34_14),
        SymOp(Rot_mX_mZ_mY,  Tr_14_14_14),
        SymOp(Rot_X_mZ_Y,    Tr_14_34_34),
        SymOp(Rot_Z_Y_mX,    Tr_34_14_34),
        SymOp(Rot_Z_mY_X,    Tr_14_34_34),
        SymOp(Rot_mZ_Y_X,    Tr_34_34_14),
        SymOp(Rot_mZ_mY_mX,  Tr_14_14_14),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_34_34_14),
        SymOp(Rot_mY_mX_mZ,  Tr_14_34_34),
        SymOp(Rot_Y_mX_Z,    Tr_14_14_14),
        SymOp(Rot_mY_X_Z,    Tr_34_14_34),
        SymOp(Rot_X_Z_mY,    Tr_34_34_14),
        SymOp(Rot_mX_Z_Y,    Tr_34_14_34),
        SymOp(Rot_mX_mZ_mY,  Tr_14_34_34),
        SymOp(Rot_X_mZ_Y,    Tr_14_14_14),
        SymOp(Rot_Z_Y_mX,    Tr_34_34_14),
        SymOp(Rot_Z_mY_X,    Tr_14_14_14),
        SymOp(Rot_mZ_Y_X,    Tr_34_14_34),
        SymOp(Rot_mZ_mY_mX,  Tr_14_34_34),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_14_14_14),
        SymOp(Rot_mY_mX_mZ,  Tr_34_14_34),
        SymOp(Rot_Y_mX_Z,    Tr_34_34_14),
        SymOp(Rot_mY_X_Z,    Tr_14_34_34),
        SymOp(Rot_X_Z_mY,    Tr_14_14_14),
        SymOp(Rot_mX_Z_Y,    Tr_14_34_34),
        SymOp(Rot_mX_mZ_mY,  Tr_34_14_34),
        SymOp(Rot_X_mZ_Y,    Tr_34_34_14),
        SymOp(Rot_Z_Y_mX,    Tr_14_14_14),
        SymOp(Rot_Z_mY_X,    Tr_34_34_14),
        SymOp(Rot_mZ_Y_X,    Tr_14_34_34),
        SymOp(Rot_mZ_mY_mX,  Tr_34_14_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_14_34_34),
        SymOp(Rot_mY_mX_mZ,  Tr_34_34_14),
        SymOp(Rot_Y_mX_Z,    Tr_34_14_34),
        SymOp(Rot_mY_X_Z,    Tr_14_14_14),
        SymOp(Rot_X_Z_mY,    Tr_14_34_34),
        SymOp(Rot_mX_Z_Y,    Tr_14_14_14),
        SymOp(Rot_mX_mZ_mY,  Tr_34_34_14),
        SymOp(Rot_X_mZ_Y,    Tr_34_14_34),
        SymOp(Rot_Z_Y_mX,    Tr_14_34_34),
        SymOp(Rot_Z_mY_X,    Tr_34_14_34),
        SymOp(Rot_mZ_Y_X,    Tr_14_14_14),
        SymOp(Rot_mZ_mY_mX,  Tr_34_34_14)])

sg211 = SpaceGroup(
    number = 211,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 24,
    short_name = "I432",
    alt_name = "I 4 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "I 4 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_X_Z_mY,    Tr_0_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_0),
        SymOp(Rot_Z_mY_X,    Tr_0_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_X_Z_mY,    Tr_12_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_12),
        SymOp(Rot_Z_mY_X,    Tr_12_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_12)])

sg212 = SpaceGroup(
    number = 212,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P4332",
    alt_name = "P 43 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "P 43 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_14_34_34),
        SymOp(Rot_mY_mX_mZ,  Tr_14_14_14),
        SymOp(Rot_Y_mX_Z,    Tr_34_34_14),
        SymOp(Rot_mY_X_Z,    Tr_34_14_34),
        SymOp(Rot_X_Z_mY,    Tr_14_34_34),
        SymOp(Rot_mX_Z_Y,    Tr_34_14_34),
        SymOp(Rot_mX_mZ_mY,  Tr_14_14_14),
        SymOp(Rot_X_mZ_Y,    Tr_34_34_14),
        SymOp(Rot_Z_Y_mX,    Tr_14_34_34),
        SymOp(Rot_Z_mY_X,    Tr_34_34_14),
        SymOp(Rot_mZ_Y_X,    Tr_34_14_34),
        SymOp(Rot_mZ_mY_mX,  Tr_14_14_14)])

sg213 = SpaceGroup(
    number = 213,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P4132",
    alt_name = "P 41 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "P 41 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_34_14_14),
        SymOp(Rot_mY_mX_mZ,  Tr_34_34_34),
        SymOp(Rot_Y_mX_Z,    Tr_14_14_34),
        SymOp(Rot_mY_X_Z,    Tr_14_34_14),
        SymOp(Rot_X_Z_mY,    Tr_34_14_14),
        SymOp(Rot_mX_Z_Y,    Tr_14_34_14),
        SymOp(Rot_mX_mZ_mY,  Tr_34_34_34),
        SymOp(Rot_X_mZ_Y,    Tr_14_14_34),
        SymOp(Rot_Z_Y_mX,    Tr_34_14_14),
        SymOp(Rot_Z_mY_X,    Tr_14_14_34),
        SymOp(Rot_mZ_Y_X,    Tr_14_34_14),
        SymOp(Rot_mZ_mY_mX,  Tr_34_34_34)])

sg214 = SpaceGroup(
    number = 214,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 24,
    short_name = "I4132",
    alt_name = "I 41 3 2",
    point_group_name = "PG432",
    crystal_system = "CUBIC",
    pdb_name = "I 41 3 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_34_14_14),
        SymOp(Rot_mY_mX_mZ,  Tr_34_34_34),
        SymOp(Rot_Y_mX_Z,    Tr_14_14_34),
        SymOp(Rot_mY_X_Z,    Tr_14_34_14),
        SymOp(Rot_X_Z_mY,    Tr_34_14_14),
        SymOp(Rot_mX_Z_Y,    Tr_14_34_14),
        SymOp(Rot_mX_mZ_mY,  Tr_34_34_34),
        SymOp(Rot_X_mZ_Y,    Tr_14_14_34),
        SymOp(Rot_Z_Y_mX,    Tr_34_14_14),
        SymOp(Rot_Z_mY_X,    Tr_14_14_34),
        SymOp(Rot_mZ_Y_X,    Tr_14_34_14),
        SymOp(Rot_mZ_mY_mX,  Tr_34_34_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_14_34_34),
        SymOp(Rot_mY_mX_mZ,  Tr_14_14_14),
        SymOp(Rot_Y_mX_Z,    Tr_34_34_14),
        SymOp(Rot_mY_X_Z,    Tr_34_14_34),
        SymOp(Rot_X_Z_mY,    Tr_14_34_34),
        SymOp(Rot_mX_Z_Y,    Tr_34_14_34),
        SymOp(Rot_mX_mZ_mY,  Tr_14_14_14),
        SymOp(Rot_X_mZ_Y,    Tr_34_34_14),
        SymOp(Rot_Z_Y_mX,    Tr_14_34_34),
        SymOp(Rot_Z_mY_X,    Tr_34_34_14),
        SymOp(Rot_mZ_Y_X,    Tr_34_14_34),
        SymOp(Rot_mZ_mY_mX,  Tr_14_14_14)])

sg215 = SpaceGroup(
    number = 215,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P-43m",
    alt_name = "P -4 3 M",
    point_group_name = "PG4bar3m",
    crystal_system = "CUBIC",
    pdb_name = "P -4 3 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0)])

sg216 = SpaceGroup(
    number = 216,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 24,
    short_name = "F-43m",
    alt_name = "F -4 3 M",
    point_group_name = "PG4bar3m",
    crystal_system = "CUBIC",
    pdb_name = "F -4 3 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_Z,     Tr_0_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_12_12),
        SymOp(Rot_X_Z_Y,     Tr_0_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_0_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_0_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_0_12_12),
        SymOp(Rot_Z_Y_X,     Tr_0_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_0_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_0_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_Z,     Tr_12_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_0_12),
        SymOp(Rot_X_Z_Y,     Tr_12_0_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_0_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_0_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_0_12),
        SymOp(Rot_Z_Y_X,     Tr_12_0_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_0_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_0_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_0),
        SymOp(Rot_X_Z_Y,     Tr_12_12_0),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_0),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_0),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_0),
        SymOp(Rot_Z_Y_X,     Tr_12_12_0),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_0),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_0),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_0)])

sg217 = SpaceGroup(
    number = 217,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 24,
    short_name = "I-43m",
    alt_name = "I -4 3 M",
    point_group_name = "PG4bar3m",
    crystal_system = "CUBIC",
    pdb_name = "I -4 3 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12)])

sg218 = SpaceGroup(
    number = 218,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 24,
    short_name = "P-43n",
    alt_name = "P -4 3 N",
    point_group_name = "PG4bar3m",
    crystal_system = "CUBIC",
    pdb_name = "P -4 3 n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12)])

sg219 = SpaceGroup(
    number = 219,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 24,
    short_name = "F-43c",
    alt_name = "F -4 3 C",
    point_group_name = "PG4bar3m",
    crystal_system = "CUBIC",
    pdb_name = "F -4 3 c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_0_0),
        SymOp(Rot_X_Z_Y,     Tr_12_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_12_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_12_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_12_0_0),
        SymOp(Rot_Z_Y_X,     Tr_12_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_12_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_12_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_12_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_12_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_12_0),
        SymOp(Rot_X_Z_Y,     Tr_0_12_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_12_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_12_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_12_0),
        SymOp(Rot_Z_Y_X,     Tr_0_12_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_12_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_12_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_12),
        SymOp(Rot_X_Z_Y,     Tr_0_0_12),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_12),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_12),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_12),
        SymOp(Rot_Z_Y_X,     Tr_0_0_12),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_12),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_12),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_12)])

sg220 = SpaceGroup(
    number = 220,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 24,
    short_name = "I-43d",
    alt_name = "I -4 3 D",
    point_group_name = "PG4bar3m",
    crystal_system = "CUBIC",
    pdb_name = "I -4 3 d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_Z,     Tr_14_14_14),
        SymOp(Rot_mY_mX_Z,   Tr_14_34_34),
        SymOp(Rot_Y_mX_mZ,   Tr_34_14_34),
        SymOp(Rot_mY_X_mZ,   Tr_34_34_14),
        SymOp(Rot_X_Z_Y,     Tr_14_14_14),
        SymOp(Rot_mX_Z_mY,   Tr_34_34_14),
        SymOp(Rot_mX_mZ_Y,   Tr_14_34_34),
        SymOp(Rot_X_mZ_mY,   Tr_34_14_34),
        SymOp(Rot_Z_Y_X,     Tr_14_14_14),
        SymOp(Rot_Z_mY_mX,   Tr_34_14_34),
        SymOp(Rot_mZ_Y_mX,   Tr_34_34_14),
        SymOp(Rot_mZ_mY_X,   Tr_14_34_34),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_0),
        SymOp(Rot_Y_X_Z,     Tr_34_34_34),
        SymOp(Rot_mY_mX_Z,   Tr_34_14_14),
        SymOp(Rot_Y_mX_mZ,   Tr_14_34_14),
        SymOp(Rot_mY_X_mZ,   Tr_14_14_34),
        SymOp(Rot_X_Z_Y,     Tr_34_34_34),
        SymOp(Rot_mX_Z_mY,   Tr_14_14_34),
        SymOp(Rot_mX_mZ_Y,   Tr_34_14_14),
        SymOp(Rot_X_mZ_mY,   Tr_14_34_14),
        SymOp(Rot_Z_Y_X,     Tr_34_34_34),
        SymOp(Rot_Z_mY_mX,   Tr_14_34_14),
        SymOp(Rot_mZ_Y_mX,   Tr_14_14_34),
        SymOp(Rot_mZ_mY_X,   Tr_34_14_14)])

sg221 = SpaceGroup(
    number = 221,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 48,
    short_name = "Pm-3m",
    alt_name = "P M 3 M",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "P 4/m -3 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_X_Z_mY,    Tr_0_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_0),
        SymOp(Rot_Z_mY_X,    Tr_0_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0)])

sg222 = SpaceGroup(
    number = 222,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 48,
    short_name = "Pn-3n",
    alt_name = "P N 3 N",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "P 4/n -3 2/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_X_Z_mY,    Tr_0_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_0),
        SymOp(Rot_Z_mY_X,    Tr_0_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_12),
        SymOp(Rot_Z_X_mY,    Tr_12_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12)])

sg223 = SpaceGroup(
    number = 223,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 48,
    short_name = "Pm-3n",
    alt_name = "P M 3 N",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "P 42/m -3 2/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_X_Z_mY,    Tr_12_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_12),
        SymOp(Rot_Z_mY_X,    Tr_12_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12)])

sg224 = SpaceGroup(
    number = 224,
    num_sym_equiv = 48,
    num_primitive_sym_equiv = 48,
    short_name = "Pn-3m",
    alt_name = "P N 3 M",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "P 42/n -3 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_X_Z_mY,    Tr_12_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_12),
        SymOp(Rot_Z_mY_X,    Tr_12_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_12),
        SymOp(Rot_Z_X_mY,    Tr_12_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0)])

sg225 = SpaceGroup(
    number = 225,
    num_sym_equiv = 192,
    num_primitive_sym_equiv = 48,
    short_name = "Fm-3m",
    alt_name = "F M 3 M",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "F 4/m -3 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_X_Z_mY,    Tr_0_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_0),
        SymOp(Rot_Z_mY_X,    Tr_0_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_12),
        SymOp(Rot_mY_X_Z,    Tr_0_12_12),
        SymOp(Rot_X_Z_mY,    Tr_0_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_0_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_0_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_0_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_0_12_12),
        SymOp(Rot_Z_mY_X,    Tr_0_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_0_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_0_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_0_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_0_12_12),
        SymOp(Rot_Z_X_mY,    Tr_0_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_0_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_0_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_0_12_12),
        SymOp(Rot_mY_Z_X,    Tr_0_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_0_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_12),
        SymOp(Rot_Y_X_Z,     Tr_0_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_0_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_0_12_12),
        SymOp(Rot_X_Z_Y,     Tr_0_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_0_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_0_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_0_12_12),
        SymOp(Rot_Z_Y_X,     Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_12),
        SymOp(Rot_mY_X_Z,    Tr_12_0_12),
        SymOp(Rot_X_Z_mY,    Tr_12_0_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_0_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_0_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_0_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_0_12),
        SymOp(Rot_Z_mY_X,    Tr_12_0_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_0_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_0_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_0_12),
        SymOp(Rot_Z_X_mY,    Tr_12_0_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_0_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_0_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_0_12),
        SymOp(Rot_mY_Z_X,    Tr_12_0_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_12),
        SymOp(Rot_Y_X_Z,     Tr_12_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_0_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_0_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_0_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_0_12),
        SymOp(Rot_X_Z_Y,     Tr_12_0_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_0_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_0_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_0_12),
        SymOp(Rot_Z_Y_X,     Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_0),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_0),
        SymOp(Rot_mY_X_Z,    Tr_12_12_0),
        SymOp(Rot_X_Z_mY,    Tr_12_12_0),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_0),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_0),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_0),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_0),
        SymOp(Rot_Z_mY_X,    Tr_12_12_0),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_0),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_0),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_0),
        SymOp(Rot_Z_X_mY,    Tr_12_12_0),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_0),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_0),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_0),
        SymOp(Rot_mY_Z_X,    Tr_12_12_0),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_0),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_0),
        SymOp(Rot_X_Z_Y,     Tr_12_12_0),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_0),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_0),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_0),
        SymOp(Rot_Z_Y_X,     Tr_12_12_0)])

sg226 = SpaceGroup(
    number = 226,
    num_sym_equiv = 192,
    num_primitive_sym_equiv = 48,
    short_name = "Fm-3c",
    alt_name = "F M 3 C",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "F 4/m -3 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_X_Z_mY,    Tr_12_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_12),
        SymOp(Rot_Z_mY_X,    Tr_12_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_12_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_0),
        SymOp(Rot_mY_X_Z,    Tr_12_0_0),
        SymOp(Rot_X_Z_mY,    Tr_12_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_12_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_12_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_12_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_12_0_0),
        SymOp(Rot_Z_mY_X,    Tr_12_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_12_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_12_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_0_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_0_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_0_12_12),
        SymOp(Rot_Z_X_mY,    Tr_0_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_0_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_0_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_0_12_12),
        SymOp(Rot_mY_Z_X,    Tr_0_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_0_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_0),
        SymOp(Rot_Y_X_Z,     Tr_12_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_12_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_12_0_0),
        SymOp(Rot_X_Z_Y,     Tr_12_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_12_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_12_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_12_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_12_0_0),
        SymOp(Rot_Z_Y_X,     Tr_12_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_0_12_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_12_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_12_0),
        SymOp(Rot_mY_X_Z,    Tr_0_12_0),
        SymOp(Rot_X_Z_mY,    Tr_0_12_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_12_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_12_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_12_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_12_0),
        SymOp(Rot_Z_mY_X,    Tr_0_12_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_12_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_0_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_0_12),
        SymOp(Rot_Z_X_mY,    Tr_12_0_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_0_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_0_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_0_12),
        SymOp(Rot_mY_Z_X,    Tr_12_0_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_0),
        SymOp(Rot_Y_X_Z,     Tr_0_12_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_12_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_12_0),
        SymOp(Rot_X_Z_Y,     Tr_0_12_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_12_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_12_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_12_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_12_0),
        SymOp(Rot_Z_Y_X,     Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_12),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_12),
        SymOp(Rot_mY_X_Z,    Tr_0_0_12),
        SymOp(Rot_X_Z_mY,    Tr_0_0_12),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_12),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_12),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_12),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_12),
        SymOp(Rot_Z_mY_X,    Tr_0_0_12),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_12),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_0),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_0),
        SymOp(Rot_Z_X_mY,    Tr_12_12_0),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_0),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_0),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_0),
        SymOp(Rot_mY_Z_X,    Tr_12_12_0),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_12),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_12),
        SymOp(Rot_X_Z_Y,     Tr_0_0_12),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_12),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_12),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_12),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_12),
        SymOp(Rot_Z_Y_X,     Tr_0_0_12)])

sg227 = SpaceGroup(
    number = 227,
    num_sym_equiv = 192,
    num_primitive_sym_equiv = 48,
    short_name = "Fd-3m",
    alt_name = "F D 3 M",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "F 41/d -3 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_34_14_34),
        SymOp(Rot_mY_mX_mZ,  Tr_14_14_14),
        SymOp(Rot_Y_mX_Z,    Tr_14_34_34),
        SymOp(Rot_mY_X_Z,    Tr_34_34_14),
        SymOp(Rot_X_Z_mY,    Tr_34_14_34),
        SymOp(Rot_mX_Z_Y,    Tr_34_34_14),
        SymOp(Rot_mX_mZ_mY,  Tr_14_14_14),
        SymOp(Rot_X_mZ_Y,    Tr_14_34_34),
        SymOp(Rot_Z_Y_mX,    Tr_34_14_34),
        SymOp(Rot_Z_mY_X,    Tr_14_34_34),
        SymOp(Rot_mZ_Y_X,    Tr_34_34_14),
        SymOp(Rot_mZ_mY_mX,  Tr_14_14_14),
        SymOp(Rot_mX_mY_mZ,  Tr_14_14_14),
        SymOp(Rot_X_Y_mZ,    Tr_14_34_34),
        SymOp(Rot_X_mY_Z,    Tr_34_34_14),
        SymOp(Rot_mX_Y_Z,    Tr_34_14_34),
        SymOp(Rot_mZ_mX_mY,  Tr_14_14_14),
        SymOp(Rot_mZ_X_Y,    Tr_34_14_34),
        SymOp(Rot_Z_X_mY,    Tr_14_34_34),
        SymOp(Rot_Z_mX_Y,    Tr_34_34_14),
        SymOp(Rot_mY_mZ_mX,  Tr_14_14_14),
        SymOp(Rot_Y_mZ_X,    Tr_34_34_14),
        SymOp(Rot_mY_Z_X,    Tr_34_14_34),
        SymOp(Rot_Y_Z_mX,    Tr_14_34_34),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_12),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_mZ_Y,   Tr_12_0_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_0_12),
        SymOp(Rot_mZ_Y_mX,   Tr_0_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_34_34_14),
        SymOp(Rot_mY_mX_mZ,  Tr_14_34_34),
        SymOp(Rot_Y_mX_Z,    Tr_14_14_14),
        SymOp(Rot_mY_X_Z,    Tr_34_14_34),
        SymOp(Rot_X_Z_mY,    Tr_34_34_14),
        SymOp(Rot_mX_Z_Y,    Tr_34_14_34),
        SymOp(Rot_mX_mZ_mY,  Tr_14_34_34),
        SymOp(Rot_X_mZ_Y,    Tr_14_14_14),
        SymOp(Rot_Z_Y_mX,    Tr_34_34_14),
        SymOp(Rot_Z_mY_X,    Tr_14_14_14),
        SymOp(Rot_mZ_Y_X,    Tr_34_14_34),
        SymOp(Rot_mZ_mY_mX,  Tr_14_34_34),
        SymOp(Rot_mX_mY_mZ,  Tr_14_34_34),
        SymOp(Rot_X_Y_mZ,    Tr_14_14_14),
        SymOp(Rot_X_mY_Z,    Tr_34_14_34),
        SymOp(Rot_mX_Y_Z,    Tr_34_34_14),
        SymOp(Rot_mZ_mX_mY,  Tr_14_34_34),
        SymOp(Rot_mZ_X_Y,    Tr_34_34_14),
        SymOp(Rot_Z_X_mY,    Tr_14_14_14),
        SymOp(Rot_Z_mX_Y,    Tr_34_14_34),
        SymOp(Rot_mY_mZ_mX,  Tr_14_34_34),
        SymOp(Rot_Y_mZ_X,    Tr_34_14_34),
        SymOp(Rot_mY_Z_X,    Tr_34_34_14),
        SymOp(Rot_Y_Z_mX,    Tr_14_14_14),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_0),
        SymOp(Rot_Y_X_Z,     Tr_0_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_0_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_0),
        SymOp(Rot_X_mZ_mY,   Tr_12_0_12),
        SymOp(Rot_X_Z_Y,     Tr_0_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_12_0_12),
        SymOp(Rot_Z_Y_X,     Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_14_14_14),
        SymOp(Rot_mY_mX_mZ,  Tr_34_14_34),
        SymOp(Rot_Y_mX_Z,    Tr_34_34_14),
        SymOp(Rot_mY_X_Z,    Tr_14_34_34),
        SymOp(Rot_X_Z_mY,    Tr_14_14_14),
        SymOp(Rot_mX_Z_Y,    Tr_14_34_34),
        SymOp(Rot_mX_mZ_mY,  Tr_34_14_34),
        SymOp(Rot_X_mZ_Y,    Tr_34_34_14),
        SymOp(Rot_Z_Y_mX,    Tr_14_14_14),
        SymOp(Rot_Z_mY_X,    Tr_34_34_14),
        SymOp(Rot_mZ_Y_X,    Tr_14_34_34),
        SymOp(Rot_mZ_mY_mX,  Tr_34_14_34),
        SymOp(Rot_mX_mY_mZ,  Tr_34_14_34),
        SymOp(Rot_X_Y_mZ,    Tr_34_34_14),
        SymOp(Rot_X_mY_Z,    Tr_14_34_34),
        SymOp(Rot_mX_Y_Z,    Tr_14_14_14),
        SymOp(Rot_mZ_mX_mY,  Tr_34_14_34),
        SymOp(Rot_mZ_X_Y,    Tr_14_14_14),
        SymOp(Rot_Z_X_mY,    Tr_34_34_14),
        SymOp(Rot_Z_mX_Y,    Tr_14_34_34),
        SymOp(Rot_mY_mZ_mX,  Tr_34_14_34),
        SymOp(Rot_Y_mZ_X,    Tr_14_34_34),
        SymOp(Rot_mY_Z_X,    Tr_14_14_14),
        SymOp(Rot_Y_Z_mX,    Tr_34_34_14),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_12_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_0_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_14_34_34),
        SymOp(Rot_mY_mX_mZ,  Tr_34_34_14),
        SymOp(Rot_Y_mX_Z,    Tr_34_14_34),
        SymOp(Rot_mY_X_Z,    Tr_14_14_14),
        SymOp(Rot_X_Z_mY,    Tr_14_34_34),
        SymOp(Rot_mX_Z_Y,    Tr_14_14_14),
        SymOp(Rot_mX_mZ_mY,  Tr_34_34_14),
        SymOp(Rot_X_mZ_Y,    Tr_34_14_34),
        SymOp(Rot_Z_Y_mX,    Tr_14_34_34),
        SymOp(Rot_Z_mY_X,    Tr_34_14_34),
        SymOp(Rot_mZ_Y_X,    Tr_14_14_14),
        SymOp(Rot_mZ_mY_mX,  Tr_34_34_14),
        SymOp(Rot_mX_mY_mZ,  Tr_34_34_14),
        SymOp(Rot_X_Y_mZ,    Tr_34_14_34),
        SymOp(Rot_X_mY_Z,    Tr_14_14_14),
        SymOp(Rot_mX_Y_Z,    Tr_14_34_34),
        SymOp(Rot_mZ_mX_mY,  Tr_34_34_14),
        SymOp(Rot_mZ_X_Y,    Tr_14_34_34),
        SymOp(Rot_Z_X_mY,    Tr_34_14_34),
        SymOp(Rot_Z_mX_Y,    Tr_14_14_14),
        SymOp(Rot_mY_mZ_mX,  Tr_34_34_14),
        SymOp(Rot_Y_mZ_X,    Tr_14_14_14),
        SymOp(Rot_mY_Z_X,    Tr_14_34_34),
        SymOp(Rot_Y_Z_mX,    Tr_34_14_34),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_0_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_12_12_0),
        SymOp(Rot_mX_Z_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mY_X,   Tr_0_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_0_12),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_12_12_0)])

sg228 = SpaceGroup(
    number = 228,
    num_sym_equiv = 192,
    num_primitive_sym_equiv = 48,
    short_name = "Fd-3c",
    alt_name = "F D 3 C",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "F 41/d -3 2/c",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_34_14_34),
        SymOp(Rot_mY_mX_mZ,  Tr_14_14_14),
        SymOp(Rot_Y_mX_Z,    Tr_14_34_34),
        SymOp(Rot_mY_X_Z,    Tr_34_34_14),
        SymOp(Rot_X_Z_mY,    Tr_34_14_34),
        SymOp(Rot_mX_Z_Y,    Tr_34_34_14),
        SymOp(Rot_mX_mZ_mY,  Tr_14_14_14),
        SymOp(Rot_X_mZ_Y,    Tr_14_34_34),
        SymOp(Rot_Z_Y_mX,    Tr_34_14_34),
        SymOp(Rot_Z_mY_X,    Tr_14_34_34),
        SymOp(Rot_mZ_Y_X,    Tr_34_34_14),
        SymOp(Rot_mZ_mY_mX,  Tr_14_14_14),
        SymOp(Rot_mX_mY_mZ,  Tr_34_34_34),
        SymOp(Rot_X_Y_mZ,    Tr_34_14_14),
        SymOp(Rot_X_mY_Z,    Tr_14_14_34),
        SymOp(Rot_mX_Y_Z,    Tr_14_34_14),
        SymOp(Rot_mZ_mX_mY,  Tr_34_34_34),
        SymOp(Rot_mZ_X_Y,    Tr_14_34_14),
        SymOp(Rot_Z_X_mY,    Tr_34_14_14),
        SymOp(Rot_Z_mX_Y,    Tr_14_14_34),
        SymOp(Rot_mY_mZ_mX,  Tr_34_34_34),
        SymOp(Rot_Y_mZ_X,    Tr_14_14_34),
        SymOp(Rot_mY_Z_X,    Tr_14_34_14),
        SymOp(Rot_Y_Z_mX,    Tr_34_14_14),
        SymOp(Rot_mY_mX_Z,   Tr_0_12_0),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_mZ_Y,   Tr_0_12_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_12_0),
        SymOp(Rot_mZ_Y_mX,   Tr_12_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_34_34_14),
        SymOp(Rot_mY_mX_mZ,  Tr_14_34_34),
        SymOp(Rot_Y_mX_Z,    Tr_14_14_14),
        SymOp(Rot_mY_X_Z,    Tr_34_14_34),
        SymOp(Rot_X_Z_mY,    Tr_34_34_14),
        SymOp(Rot_mX_Z_Y,    Tr_34_14_34),
        SymOp(Rot_mX_mZ_mY,  Tr_14_34_34),
        SymOp(Rot_X_mZ_Y,    Tr_14_14_14),
        SymOp(Rot_Z_Y_mX,    Tr_34_34_14),
        SymOp(Rot_Z_mY_X,    Tr_14_14_14),
        SymOp(Rot_mZ_Y_X,    Tr_34_14_34),
        SymOp(Rot_mZ_mY_mX,  Tr_14_34_34),
        SymOp(Rot_mX_mY_mZ,  Tr_34_14_14),
        SymOp(Rot_X_Y_mZ,    Tr_34_34_34),
        SymOp(Rot_X_mY_Z,    Tr_14_34_14),
        SymOp(Rot_mX_Y_Z,    Tr_14_14_34),
        SymOp(Rot_mZ_mX_mY,  Tr_34_14_14),
        SymOp(Rot_mZ_X_Y,    Tr_14_14_34),
        SymOp(Rot_Z_X_mY,    Tr_34_34_34),
        SymOp(Rot_Z_mX_Y,    Tr_14_34_14),
        SymOp(Rot_mY_mZ_mX,  Tr_34_14_14),
        SymOp(Rot_Y_mZ_X,    Tr_14_34_14),
        SymOp(Rot_mY_Z_X,    Tr_14_14_34),
        SymOp(Rot_Y_Z_mX,    Tr_34_34_34),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_12),
        SymOp(Rot_Y_X_Z,     Tr_12_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_12),
        SymOp(Rot_X_mZ_mY,   Tr_0_12_0),
        SymOp(Rot_X_Z_Y,     Tr_12_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_0_12_0),
        SymOp(Rot_Z_Y_X,     Tr_12_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_12_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_0_12),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_14_14_14),
        SymOp(Rot_mY_mX_mZ,  Tr_34_14_34),
        SymOp(Rot_Y_mX_Z,    Tr_34_34_14),
        SymOp(Rot_mY_X_Z,    Tr_14_34_34),
        SymOp(Rot_X_Z_mY,    Tr_14_14_14),
        SymOp(Rot_mX_Z_Y,    Tr_14_34_34),
        SymOp(Rot_mX_mZ_mY,  Tr_34_14_34),
        SymOp(Rot_X_mZ_Y,    Tr_34_34_14),
        SymOp(Rot_Z_Y_mX,    Tr_14_14_14),
        SymOp(Rot_Z_mY_X,    Tr_34_34_14),
        SymOp(Rot_mZ_Y_X,    Tr_14_34_34),
        SymOp(Rot_mZ_mY_mX,  Tr_34_14_34),
        SymOp(Rot_mX_mY_mZ,  Tr_14_34_14),
        SymOp(Rot_X_Y_mZ,    Tr_14_14_34),
        SymOp(Rot_X_mY_Z,    Tr_34_14_14),
        SymOp(Rot_mX_Y_Z,    Tr_34_34_34),
        SymOp(Rot_mZ_mX_mY,  Tr_14_34_14),
        SymOp(Rot_mZ_X_Y,    Tr_34_34_34),
        SymOp(Rot_Z_X_mY,    Tr_14_14_34),
        SymOp(Rot_Z_mX_Y,    Tr_34_14_14),
        SymOp(Rot_mY_mZ_mX,  Tr_14_34_14),
        SymOp(Rot_Y_mZ_X,    Tr_34_14_14),
        SymOp(Rot_mY_Z_X,    Tr_34_34_34),
        SymOp(Rot_Y_Z_mX,    Tr_14_14_34),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_0_12_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_12_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_14_34_34),
        SymOp(Rot_mY_mX_mZ,  Tr_34_34_14),
        SymOp(Rot_Y_mX_Z,    Tr_34_14_34),
        SymOp(Rot_mY_X_Z,    Tr_14_14_14),
        SymOp(Rot_X_Z_mY,    Tr_14_34_34),
        SymOp(Rot_mX_Z_Y,    Tr_14_14_14),
        SymOp(Rot_mX_mZ_mY,  Tr_34_34_14),
        SymOp(Rot_X_mZ_Y,    Tr_34_14_34),
        SymOp(Rot_Z_Y_mX,    Tr_14_34_34),
        SymOp(Rot_Z_mY_X,    Tr_34_14_34),
        SymOp(Rot_mZ_Y_X,    Tr_14_14_14),
        SymOp(Rot_mZ_mY_mX,  Tr_34_34_14),
        SymOp(Rot_mX_mY_mZ,  Tr_14_14_34),
        SymOp(Rot_X_Y_mZ,    Tr_14_34_14),
        SymOp(Rot_X_mY_Z,    Tr_34_34_34),
        SymOp(Rot_mX_Y_Z,    Tr_34_14_14),
        SymOp(Rot_mZ_mX_mY,  Tr_14_14_34),
        SymOp(Rot_mZ_X_Y,    Tr_34_14_14),
        SymOp(Rot_Z_X_mY,    Tr_14_34_14),
        SymOp(Rot_Z_mX_Y,    Tr_34_34_34),
        SymOp(Rot_mY_mZ_mX,  Tr_14_14_34),
        SymOp(Rot_Y_mZ_X,    Tr_34_34_34),
        SymOp(Rot_mY_Z_X,    Tr_34_14_14),
        SymOp(Rot_Y_Z_mX,    Tr_14_34_14),
        SymOp(Rot_mY_mX_Z,   Tr_12_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_12),
        SymOp(Rot_mY_X_mZ,   Tr_0_12_0),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_0_0_12),
        SymOp(Rot_mX_Z_mY,   Tr_0_12_0),
        SymOp(Rot_mZ_mY_X,   Tr_12_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_12_0),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_0_0_12)])

sg229 = SpaceGroup(
    number = 229,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 48,
    short_name = "Im-3m",
    alt_name = "I M 3 M",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "I 4/m -3 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_0_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_0),
        SymOp(Rot_mY_mX_mZ,  Tr_0_0_0),
        SymOp(Rot_Y_mX_Z,    Tr_0_0_0),
        SymOp(Rot_mY_X_Z,    Tr_0_0_0),
        SymOp(Rot_X_Z_mY,    Tr_0_0_0),
        SymOp(Rot_mX_Z_Y,    Tr_0_0_0),
        SymOp(Rot_mX_mZ_mY,  Tr_0_0_0),
        SymOp(Rot_X_mZ_Y,    Tr_0_0_0),
        SymOp(Rot_Z_Y_mX,    Tr_0_0_0),
        SymOp(Rot_Z_mY_X,    Tr_0_0_0),
        SymOp(Rot_mZ_Y_X,    Tr_0_0_0),
        SymOp(Rot_mZ_mY_mX,  Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_0),
        SymOp(Rot_Z_X_mY,    Tr_0_0_0),
        SymOp(Rot_Z_mX_Y,    Tr_0_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_0),
        SymOp(Rot_Y_Z_mX,    Tr_0_0_0),
        SymOp(Rot_mY_mX_Z,   Tr_0_0_0),
        SymOp(Rot_Y_X_Z,     Tr_0_0_0),
        SymOp(Rot_mY_X_mZ,   Tr_0_0_0),
        SymOp(Rot_Y_mX_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_mZ_Y,   Tr_0_0_0),
        SymOp(Rot_X_mZ_mY,   Tr_0_0_0),
        SymOp(Rot_X_Z_Y,     Tr_0_0_0),
        SymOp(Rot_mX_Z_mY,   Tr_0_0_0),
        SymOp(Rot_mZ_mY_X,   Tr_0_0_0),
        SymOp(Rot_mZ_Y_mX,   Tr_0_0_0),
        SymOp(Rot_Z_mY_mX,   Tr_0_0_0),
        SymOp(Rot_Z_Y_X,     Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_12_12),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_12),
        SymOp(Rot_Y_X_mZ,    Tr_12_12_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_12_12),
        SymOp(Rot_mY_X_Z,    Tr_12_12_12),
        SymOp(Rot_X_Z_mY,    Tr_12_12_12),
        SymOp(Rot_mX_Z_Y,    Tr_12_12_12),
        SymOp(Rot_mX_mZ_mY,  Tr_12_12_12),
        SymOp(Rot_X_mZ_Y,    Tr_12_12_12),
        SymOp(Rot_Z_Y_mX,    Tr_12_12_12),
        SymOp(Rot_Z_mY_X,    Tr_12_12_12),
        SymOp(Rot_mZ_Y_X,    Tr_12_12_12),
        SymOp(Rot_mZ_mY_mX,  Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12),
        SymOp(Rot_X_mY_Z,    Tr_12_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_12),
        SymOp(Rot_Z_X_mY,    Tr_12_12_12),
        SymOp(Rot_Z_mX_Y,    Tr_12_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_12),
        SymOp(Rot_Y_Z_mX,    Tr_12_12_12),
        SymOp(Rot_mY_mX_Z,   Tr_12_12_12),
        SymOp(Rot_Y_X_Z,     Tr_12_12_12),
        SymOp(Rot_mY_X_mZ,   Tr_12_12_12),
        SymOp(Rot_Y_mX_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_mZ_Y,   Tr_12_12_12),
        SymOp(Rot_X_mZ_mY,   Tr_12_12_12),
        SymOp(Rot_X_Z_Y,     Tr_12_12_12),
        SymOp(Rot_mX_Z_mY,   Tr_12_12_12),
        SymOp(Rot_mZ_mY_X,   Tr_12_12_12),
        SymOp(Rot_mZ_Y_mX,   Tr_12_12_12),
        SymOp(Rot_Z_mY_mX,   Tr_12_12_12),
        SymOp(Rot_Z_Y_X,     Tr_12_12_12)])

sg230 = SpaceGroup(
    number = 230,
    num_sym_equiv = 96,
    num_primitive_sym_equiv = 48,
    short_name = "Ia-3d",
    alt_name = "I A 3 D",
    point_group_name = "PGm3barm",
    crystal_system = "CUBIC",
    pdb_name = "I 41/a -3 2/d",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_12_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_0_12),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_12),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_12),
        SymOp(Rot_Y_mZ_mX,   Tr_12_12_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_0_12),
        SymOp(Rot_Y_X_mZ,    Tr_34_14_14),
        SymOp(Rot_mY_mX_mZ,  Tr_34_34_34),
        SymOp(Rot_Y_mX_Z,    Tr_14_14_34),
        SymOp(Rot_mY_X_Z,    Tr_14_34_14),
        SymOp(Rot_X_Z_mY,    Tr_34_14_14),
        SymOp(Rot_mX_Z_Y,    Tr_14_34_14),
        SymOp(Rot_mX_mZ_mY,  Tr_34_34_34),
        SymOp(Rot_X_mZ_Y,    Tr_14_14_34),
        SymOp(Rot_Z_Y_mX,    Tr_34_14_14),
        SymOp(Rot_Z_mY_X,    Tr_14_14_34),
        SymOp(Rot_mZ_Y_X,    Tr_14_34_14),
        SymOp(Rot_mZ_mY_mX,  Tr_34_34_34),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_X_mY_Z,    Tr_0_12_12),
        SymOp(Rot_mX_Y_Z,    Tr_12_12_0),
        SymOp(Rot_mZ_mX_mY,  Tr_0_0_0),
        SymOp(Rot_mZ_X_Y,    Tr_12_12_0),
        SymOp(Rot_Z_X_mY,    Tr_12_0_12),
        SymOp(Rot_Z_mX_Y,    Tr_0_12_12),
        SymOp(Rot_mY_mZ_mX,  Tr_0_0_0),
        SymOp(Rot_Y_mZ_X,    Tr_0_12_12),
        SymOp(Rot_mY_Z_X,    Tr_12_12_0),
        SymOp(Rot_Y_Z_mX,    Tr_12_0_12),
        SymOp(Rot_mY_mX_Z,   Tr_14_34_34),
        SymOp(Rot_Y_X_Z,     Tr_14_14_14),
        SymOp(Rot_mY_X_mZ,   Tr_34_34_14),
        SymOp(Rot_Y_mX_mZ,   Tr_34_14_34),
        SymOp(Rot_mX_mZ_Y,   Tr_14_34_34),
        SymOp(Rot_X_mZ_mY,   Tr_34_14_34),
        SymOp(Rot_X_Z_Y,     Tr_14_14_14),
        SymOp(Rot_mX_Z_mY,   Tr_34_34_14),
        SymOp(Rot_mZ_mY_X,   Tr_14_34_34),
        SymOp(Rot_mZ_Y_mX,   Tr_34_34_14),
        SymOp(Rot_Z_mY_mX,   Tr_34_14_34),
        SymOp(Rot_Z_Y_X,     Tr_14_14_14),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_0_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_12_0),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_0),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_0),
        SymOp(Rot_Y_mZ_mX,   Tr_0_0_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_12_0),
        SymOp(Rot_Y_X_mZ,    Tr_14_34_34),
        SymOp(Rot_mY_mX_mZ,  Tr_14_14_14),
        SymOp(Rot_Y_mX_Z,    Tr_34_34_14),
        SymOp(Rot_mY_X_Z,    Tr_34_14_34),
        SymOp(Rot_X_Z_mY,    Tr_14_34_34),
        SymOp(Rot_mX_Z_Y,    Tr_34_14_34),
        SymOp(Rot_mX_mZ_mY,  Tr_14_14_14),
        SymOp(Rot_X_mZ_Y,    Tr_34_34_14),
        SymOp(Rot_Z_Y_mX,    Tr_14_34_34),
        SymOp(Rot_Z_mY_X,    Tr_34_34_14),
        SymOp(Rot_mZ_Y_X,    Tr_34_14_34),
        SymOp(Rot_mZ_mY_mX,  Tr_14_14_14),
        SymOp(Rot_mX_mY_mZ,  Tr_12_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_0_0),
        SymOp(Rot_mX_Y_Z,    Tr_0_0_12),
        SymOp(Rot_mZ_mX_mY,  Tr_12_12_12),
        SymOp(Rot_mZ_X_Y,    Tr_0_0_12),
        SymOp(Rot_Z_X_mY,    Tr_0_12_0),
        SymOp(Rot_Z_mX_Y,    Tr_12_0_0),
        SymOp(Rot_mY_mZ_mX,  Tr_12_12_12),
        SymOp(Rot_Y_mZ_X,    Tr_12_0_0),
        SymOp(Rot_mY_Z_X,    Tr_0_0_12),
        SymOp(Rot_Y_Z_mX,    Tr_0_12_0),
        SymOp(Rot_mY_mX_Z,   Tr_34_14_14),
        SymOp(Rot_Y_X_Z,     Tr_34_34_34),
        SymOp(Rot_mY_X_mZ,   Tr_14_14_34),
        SymOp(Rot_Y_mX_mZ,   Tr_14_34_14),
        SymOp(Rot_mX_mZ_Y,   Tr_34_14_14),
        SymOp(Rot_X_mZ_mY,   Tr_14_34_14),
        SymOp(Rot_X_Z_Y,     Tr_34_34_34),
        SymOp(Rot_mX_Z_mY,   Tr_14_14_34),
        SymOp(Rot_mZ_mY_X,   Tr_34_14_14),
        SymOp(Rot_mZ_Y_mX,   Tr_14_14_34),
        SymOp(Rot_Z_mY_mX,   Tr_14_34_14),
        SymOp(Rot_Z_Y_X,     Tr_34_34_34)])

sg1003 = SpaceGroup(
    number = 1003,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "P2",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0)])

sg1004 = SpaceGroup(
    number = 1004,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "P1121",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12)])

sg3004 = SpaceGroup(
    number = 3004,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "I21",
    point_group_name = "PG2",
    crystal_system = "MONOCLINIC",
    pdb_name = "I 1 21 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12)])

sg1005 = SpaceGroup(
    number = 1005,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "B2",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "B 1 1 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12)])

sg2005 = SpaceGroup(
    number = 2005,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "A2",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "A 2 1 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12)])

sg3005 = SpaceGroup(
    number = 3005,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "C21",
    point_group_name = "PG2",
    crystal_system = "MONOCLINIC",
    pdb_name = "C 1 21 1",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0)])

sg1006 = SpaceGroup(
    number = 1006,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "P11m",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0)])

sg1007 = SpaceGroup(
    number = 1007,
    num_sym_equiv = 2,
    num_primitive_sym_equiv = 2,
    short_name = "P11b",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 b",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0)])

sg1008 = SpaceGroup(
    number = 1008,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "B11m",
    point_group_name = "PG2",
    crystal_system = "MONOCLINIC",
    pdb_name = "B 1 1 m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_Z,    Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_12_12_0)])

sg1009 = SpaceGroup(
    number = 1009,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 2,
    short_name = "B11b",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "B 1 1 b",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12)])

sg1010 = SpaceGroup(
    number = 1010,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P112/m",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0)])

sg1011 = SpaceGroup(
    number = 1011,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P1121/m",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 21/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_12)])

sg1012 = SpaceGroup(
    number = 1012,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "B112/m",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "B 1 1 2/m",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_12)])

sg1013 = SpaceGroup(
    number = 1013,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P112/b",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 2/b",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0)])

sg1014 = SpaceGroup(
    number = 1014,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P1121/b",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "P 1 1 21/b",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_12)])

sg1015 = SpaceGroup(
    number = 1015,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "B112/b",
    point_group_name = "PG2C",
    crystal_system = "MONOCLINIC",
    pdb_name = "B 1 1 2/b",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_12),
        SymOp(Rot_mX_mY_mZ,  Tr_12_0_12),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_12)])

sg1017 = SpaceGroup(
    number = 1017,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P2122",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21 2 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_0)])

sg2017 = SpaceGroup(
    number = 2017,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P2212",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2 21 2",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0)])

sg1018 = SpaceGroup(
    number = 1018,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P21212a",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21 21 2 (a)",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0)])

sg2018 = SpaceGroup(
    number = 2018,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P21221",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21 2 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12)])

sg3018 = SpaceGroup(
    number = 3018,
    num_sym_equiv = 4,
    num_primitive_sym_equiv = 4,
    short_name = "P22121",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 2 21 21",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12)])

sg1020 = SpaceGroup(
    number = 1020,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "C2221a",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2 2 21a)",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12)])

sg1021 = SpaceGroup(
    number = 1021,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "C222a",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "C 2 2 2a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0)])

sg1022 = SpaceGroup(
    number = 1022,
    num_sym_equiv = 16,
    num_primitive_sym_equiv = 4,
    short_name = "F222a",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "F 2 2 2a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_0_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_12_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_0_12),
        SymOp(Rot_X_Y_Z,     Tr_12_0_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_12_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_12_12),
        SymOp(Rot_X_Y_Z,     Tr_12_12_0),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_0),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_0)])

sg1023 = SpaceGroup(
    number = 1023,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 4,
    short_name = "I222a",
    point_group_name = "PG222",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "I 2 2 2a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12)])

sg1059 = SpaceGroup(
    number = 1059,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "Pmmn2",
    point_group_name = "PGmmm",
    crystal_system = "ORTHORHOMBIC",
    pdb_name = "P 21/m 21/m 2/n",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_mY_mZ,  Tr_0_0_0),
        SymOp(Rot_X_Y_mZ,    Tr_12_12_0),
        SymOp(Rot_X_mY_Z,    Tr_0_12_0),
        SymOp(Rot_mX_Y_Z,    Tr_12_0_0)])

sg1094 = SpaceGroup(
    number = 1094,
    num_sym_equiv = 8,
    num_primitive_sym_equiv = 8,
    short_name = "P42212a",
    point_group_name = "PG422",
    crystal_system = "TETRAGONAL",
    pdb_name = "P 42 21 2a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_mY_X_Z,    Tr_0_12_12),
        SymOp(Rot_Y_mX_Z,    Tr_12_0_12),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_Y_X_mZ,    Tr_0_0_12),
        SymOp(Rot_mY_mX_mZ,  Tr_12_12_12)])

sg1197 = SpaceGroup(
    number = 1197,
    num_sym_equiv = 24,
    num_primitive_sym_equiv = 12,
    short_name = "I23a",
    point_group_name = "PG23",
    crystal_system = "CUBIC",
    pdb_name = "I 2 3a",
    symop_list = [
        SymOp(Rot_X_Y_Z,     Tr_0_0_0),
        SymOp(Rot_mX_mY_Z,   Tr_12_12_0),
        SymOp(Rot_X_mY_mZ,   Tr_12_0_0),
        SymOp(Rot_mX_Y_mZ,   Tr_0_12_0),
        SymOp(Rot_Y_Z_X,     Tr_0_0_0),
        SymOp(Rot_mY_mZ_X,   Tr_12_12_0),
        SymOp(Rot_Y_mZ_mX,   Tr_12_0_0),
        SymOp(Rot_mY_Z_mX,   Tr_0_12_0),
        SymOp(Rot_Z_X_Y,     Tr_0_0_0),
        SymOp(Rot_mZ_mX_Y,   Tr_12_12_0),
        SymOp(Rot_Z_mX_mY,   Tr_12_0_0),
        SymOp(Rot_mZ_X_mY,   Tr_0_12_0),
        SymOp(Rot_X_Y_Z,     Tr_12_12_12),
        SymOp(Rot_mX_mY_Z,   Tr_0_0_12),
        SymOp(Rot_X_mY_mZ,   Tr_0_12_12),
        SymOp(Rot_mX_Y_mZ,   Tr_12_0_12),
        SymOp(Rot_Y_Z_X,     Tr_12_12_12),
        SymOp(Rot_mY_mZ_X,   Tr_0_0_12),
        SymOp(Rot_Y_mZ_mX,   Tr_0_12_12),
        SymOp(Rot_mY_Z_mX,   Tr_12_0_12),
        SymOp(Rot_Z_X_Y,     Tr_12_12_12),
        SymOp(Rot_mZ_mX_Y,   Tr_0_0_12),
        SymOp(Rot_Z_mX_mY,   Tr_0_12_12),
        SymOp(Rot_mZ_X_mY,   Tr_12_0_12)])


## list of the space groups
SpaceGroupList = [
    sg1,
    sg2,
    sg3,
    sg4,
    sg5,
    sg6,
    sg7,
    sg8,
    sg9,
    sg10,
    sg11,
    sg12,
    sg13,
    sg14,
    sg15,
    sg16,
    sg17,
    sg18,
    sg19,
    sg20,
    sg21,
    sg22,
    sg23,
    sg24,
    sg25,
    sg26,
    sg27,
    sg28,
    sg29,
    sg30,
    sg31,
    sg32,
    sg33,
    sg34,
    sg35,
    sg36,
    sg37,
    sg38,
    sg39,
    sg40,
    sg41,
    sg42,
    sg43,
    sg44,
    sg45,
    sg46,
    sg47,
    sg48,
    sg49,
    sg50,
    sg51,
    sg52,
    sg53,
    sg54,
    sg55,
    sg56,
    sg57,
    sg58,
    sg59,
    sg60,
    sg61,
    sg62,
    sg63,
    sg64,
    sg65,
    sg66,
    sg67,
    sg68,
    sg69,
    sg70,
    sg71,
    sg72,
    sg73,
    sg74,
    sg75,
    sg76,
    sg77,
    sg78,
    sg79,
    sg80,
    sg81,
    sg82,
    sg83,
    sg84,
    sg85,
    sg86,
    sg87,
    sg88,
    sg89,
    sg90,
    sg91,
    sg92,
    sg93,
    sg94,
    sg95,
    sg96,
    sg97,
    sg98,
    sg99,
    sg100,
    sg101,
    sg102,
    sg103,
    sg104,
    sg105,
    sg106,
    sg107,
    sg108,
    sg109,
    sg110,
    sg111,
    sg112,
    sg113,
    sg114,
    sg115,
    sg116,
    sg117,
    sg118,
    sg119,
    sg120,
    sg121,
    sg122,
    sg123,
    sg124,
    sg125,
    sg126,
    sg127,
    sg128,
    sg129,
    sg130,
    sg131,
    sg132,
    sg133,
    sg134,
    sg135,
    sg136,
    sg137,
    sg138,
    sg139,
    sg140,
    sg141,
    sg142,
    sg143,
    sg144,
    sg145,
    sg146,
    sg1146,
    sg147,
    sg148,
    sg1148,
    sg149,
    sg150,
    sg151,
    sg152,
    sg153,
    sg154,
    sg155,
    sg1155,
    sg156,
    sg157,
    sg158,
    sg159,
    sg160,
    sg1160,
    sg161,
    sg1161,
    sg162,
    sg163,
    sg164,
    sg165,
    sg166,
    sg1166,
    sg167,
    sg1167,
    sg168,
    sg169,
    sg170,
    sg171,
    sg172,
    sg173,
    sg174,
    sg175,
    sg176,
    sg177,
    sg178,
    sg179,
    sg180,
    sg181,
    sg182,
    sg183,
    sg184,
    sg185,
    sg186,
    sg187,
    sg188,
    sg189,
    sg190,
    sg191,
    sg192,
    sg193,
    sg194,
    sg195,
    sg196,
    sg197,
    sg198,
    sg199,
    sg200,
    sg201,
    sg202,
    sg203,
    sg204,
    sg205,
    sg206,
    sg207,
    sg208,
    sg209,
    sg210,
    sg211,
    sg212,
    sg213,
    sg214,
    sg215,
    sg216,
    sg217,
    sg218,
    sg219,
    sg220,
    sg221,
    sg222,
    sg223,
    sg224,
    sg225,
    sg226,
    sg227,
    sg228,
    sg229,
    sg230,
    sg1003,
    sg1004,
    sg3004,
    sg1005,
    sg2005,
    sg3005,
    sg1006,
    sg1007,
    sg1008,
    sg1009,
    sg1010,
    sg1011,
    sg1012,
    sg1013,
    sg1014,
    sg1015,
    sg1017,
    sg2017,
    sg1018,
    sg2018,
    sg3018,
    sg1020,
    sg1021,
    sg1022,
    sg1023,
    sg1059,
    sg1094,
    sg1197]


def get_spacegroup(sgid):
    """Returns the SpaceGroup instance for the given identifier.

    sgid -- space group symbol, either short_name or pdb_name,
            whatever it means in mmlib.  Can be also an integer.

    Return space group instance.
    Raise ValueError when not found.
    """
    if not _sg_lookup_table:
        _buildSGLookupTable()
    if sgid in _sg_lookup_table:
        return _sg_lookup_table[sgid]
    # Try different versions of sgid, first make sure it is a string
    emsg = "Unknown space group identifier %r" % sgid
    if type(sgid) not in types.StringTypes:
        raise ValueError(emsg)
    # short name case adjusted
    sgkey = sgid.strip()
    sgkey = sgkey[:1].upper() + sgkey[1:].lower()
    if sgkey in _sg_lookup_table:
        return _sg_lookup_table[sgkey]
    # long name all upper case
    sgkey = sgid.strip().upper()
    if sgkey in _sg_lookup_table:
        return _sg_lookup_table[sgkey]
    # try to remove any blanks
    sgkey = sgid.replace(' ', '')
    if sgkey in _sg_lookup_table:
        return _sg_lookup_table[sgkey]
    # nothing worked, sgid is unknown identifier
    raise ValueError(emsg)


_sg_lookup_table = {}


def is_spacegroup_identifier(sgid):
    """Check if identifier can be used as an argument to GetSpaceGroup.

    Return bool.
    """
    try:
        GetSpaceGroup(sgid)
        rv = True
    except ValueError:
        rv = False
    return rv


def _buildSGLookupTable():
    """Rebuild space group lookup table from the SpaceGroupList data.

    This routine updates the global _sg_lookup_table dictionary.
    No return value.
    """
    _sg_lookup_table.clear()
    for sg in SpaceGroupList:
        _sg_lookup_table.setdefault(sg.number, sg)
        _sg_lookup_table.setdefault(str(sg.number), sg)
        _sg_lookup_table.setdefault(sg.short_name, sg)
        _sg_lookup_table.setdefault(sg.pdb_name, sg)
        _sg_lookup_table.setdefault(sg.alt_name, sg)
    # make sure None does not sneak into the dictionary
    if None in _sg_lookup_table:
        del _sg_lookup_table[None]
    return


# store a copy of the original space group list from PyMMLib
mmLibSpaceGroupList = SpaceGroupList[:]

# add additional space group representations obtained from sgtbx:
from spacegroups_extra import sgtbxSpaceGroupList
SpaceGroupList = mmLibSpaceGroupList + sgtbxSpaceGroupList

# End of file
